From b30d40cd76b4b4868f14d511de4dc2d130d0433d Mon Sep 17 00:00:00 2001 From: nilehmann Date: Tue, 5 Dec 2023 03:09:05 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20flux-rs/?= =?UTF-8?q?flux@2aecd0d366dfbaa0677d5d9791e164034391502e=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 +- about.html | 4 +- blog/01-introducing-flux.html | 4 +- blog/02-ownership.html | 4 +- blog/03-vectors.html | 4 +- css/chrome.css | 35 +- css/print.css | 2 +- css/variables.css | 2 + dev/architecture.html | 38 +- dev/develop.html | 4 +- doc/flux_fixpoint/all.html | 2 +- doc/flux_fixpoint/big_int/struct.BigInt.html | 7 +- .../constraint/constant.NAME0.html | 1 - .../constraint/constant.NAME1.html | 1 - .../constraint/constant.NAME2.html | 1 - doc/flux_fixpoint/constraint/enum.BinOp.html | 11 +- .../constraint/enum.Constant.html | 17 +- .../constraint/enum.Constraint.html | 38 +- doc/flux_fixpoint/constraint/enum.Expr.html | 29 +- doc/flux_fixpoint/constraint/enum.Func.html | 23 +- doc/flux_fixpoint/constraint/enum.Pred.html | 23 +- doc/flux_fixpoint/constraint/enum.Proj.html | 6 +- doc/flux_fixpoint/constraint/enum.Sort.html | 7 +- .../constraint/enum.SortCtor.html | 7 +- doc/flux_fixpoint/constraint/enum.UnOp.html | 11 +- doc/flux_fixpoint/constraint/index.html | 2 +- doc/flux_fixpoint/constraint/sidebar-items.js | 2 +- .../constraint/static.DEFAULT_QUALIFIERS.html | 2 +- .../constraint/struct.Const.html | 13 +- .../constraint/struct.ConstName.html | 51 --- .../constraint/struct.FmtParens.html | 6 +- .../constraint/struct.FuncSort.html | 7 +- doc/flux_fixpoint/constraint/struct.KVid.html | 51 --- doc/flux_fixpoint/constraint/struct.Name.html | 51 --- .../constraint/struct.PolyFuncSort.html | 9 +- .../constraint/struct.PredTag.html | 19 +- .../constraint/struct.Qualifier.html | 18 +- doc/flux_fixpoint/enum.BinOp.html | 11 +- doc/flux_fixpoint/enum.Constant.html | 17 +- doc/flux_fixpoint/enum.Constraint.html | 38 +- doc/flux_fixpoint/enum.Expr.html | 29 +- doc/flux_fixpoint/enum.FixpointResult.html | 6 +- doc/flux_fixpoint/enum.Func.html | 23 +- doc/flux_fixpoint/enum.Pred.html | 23 +- doc/flux_fixpoint/enum.Proj.html | 6 +- doc/flux_fixpoint/enum.Sort.html | 7 +- doc/flux_fixpoint/enum.SortCtor.html | 7 +- doc/flux_fixpoint/enum.UnOp.html | 11 +- doc/flux_fixpoint/index.html | 2 +- doc/flux_fixpoint/macro.declare_types!.html | 11 + doc/flux_fixpoint/macro.declare_types.html | 3 + doc/flux_fixpoint/sidebar-items.js | 2 +- doc/flux_fixpoint/struct.Const.html | 13 +- doc/flux_fixpoint/struct.ConstInfo.html | 19 +- doc/flux_fixpoint/struct.ConstName.html | 51 --- doc/flux_fixpoint/struct.CrashInfo.html | 2 +- doc/flux_fixpoint/struct.Error.html | 4 +- doc/flux_fixpoint/struct.FuncSort.html | 7 +- doc/flux_fixpoint/struct.KVar.html | 16 +- doc/flux_fixpoint/struct.KVid.html | 51 --- doc/flux_fixpoint/struct.Name.html | 51 --- doc/flux_fixpoint/struct.PolyFuncSort.html | 9 +- doc/flux_fixpoint/struct.Qualifier.html | 18 +- doc/flux_fixpoint/struct.Stats.html | 4 +- doc/flux_fixpoint/struct.StringTypes.html | 11 + doc/flux_fixpoint/struct.Task.html | 49 ++- doc/flux_fixpoint/trait.Symbol.html | 1 + doc/flux_fixpoint/trait.Types.html | 5 + .../decoder/struct.DecodeContext.html | 2 +- .../encoder/struct.EncodeContext.html | 2 +- doc/flux_middle/all.html | 2 +- doc/flux_middle/fhir/enum.BinOp.html | 11 +- doc/flux_middle/fhir/enum.FluxLocalDefId.html | 2 +- doc/flux_middle/fhir/enum.FluxOwnerId.html | 2 +- doc/flux_middle/fhir/enum.InferMode.html | 2 +- doc/flux_middle/fhir/enum.Sort.html | 5 +- doc/flux_middle/fhir/enum.SortCtor.html | 5 +- doc/flux_middle/fhir/enum.UnOp.html | 11 +- doc/flux_middle/fhir/struct.FuncSort.html | 5 +- doc/flux_middle/fhir/struct.ItemLocalId.html | 2 +- doc/flux_middle/fhir/struct.Name.html | 2 +- doc/flux_middle/fhir/struct.PolyFuncSort.html | 5 +- doc/flux_middle/fhir/struct.SortVid.html | 2 +- doc/flux_middle/global_env/struct.Ident.html | 5 +- doc/flux_middle/global_env/struct.Symbol.html | 5 +- doc/flux_middle/intern/struct.Interned.html | 23 +- doc/flux_middle/intern/trait.Internable.html | 2 +- .../intern/trait.SliceInternable.html | 2 +- doc/flux_middle/intern/type.List.html | 22 +- doc/flux_middle/macro._Bool.html | 2 +- doc/flux_middle/macro._Float.html | 2 +- doc/flux_middle/macro._Int.html | 2 +- doc/flux_middle/macro._Ref.html | 2 +- doc/flux_middle/macro._Uint.html | 2 +- doc/flux_middle/pretty/struct.Join.html | 4 +- doc/flux_middle/pretty/trait.Pretty.html | 4 +- doc/flux_middle/rty/enum.AliasKind.html | 8 +- doc/flux_middle/rty/enum.BaseTy.html | 24 +- doc/flux_middle/rty/enum.BinOp.html | 11 +- doc/flux_middle/rty/enum.BoundRegionKind.html | 2 +- .../rty/enum.BoundVariableKind.html | 18 +- doc/flux_middle/rty/enum.ClauseKind.html | 17 +- doc/flux_middle/rty/enum.ClosureKind.html | 5 +- doc/flux_middle/rty/enum.Constant.html | 17 +- doc/flux_middle/rty/enum.Constraint.html | 20 +- doc/flux_middle/rty/enum.GenericArg.html | 20 +- doc/flux_middle/rty/enum.HoleKind.html | 14 +- doc/flux_middle/rty/enum.Loc.html | 4 +- doc/flux_middle/rty/enum.Opaqueness.html | 22 +- doc/flux_middle/rty/enum.PtrKind.html | 8 +- doc/flux_middle/rty/enum.Sort.html | 24 +- doc/flux_middle/rty/enum.SortCtor.html | 8 +- doc/flux_middle/rty/enum.TupleTree.html | 26 +- doc/flux_middle/rty/enum.TyKind.html | 8 +- doc/flux_middle/rty/enum.UnOp.html | 11 +- doc/flux_middle/rty/enum.Var.html | 6 +- doc/flux_middle/rty/evars/struct.EVid.html | 2 +- doc/flux_middle/rty/expr/enum.BinOp.html | 11 +- doc/flux_middle/rty/expr/enum.Constant.html | 17 +- doc/flux_middle/rty/expr/enum.HoleKind.html | 14 +- doc/flux_middle/rty/expr/enum.Loc.html | 4 +- doc/flux_middle/rty/expr/enum.UnOp.html | 11 +- doc/flux_middle/rty/expr/enum.Var.html | 6 +- doc/flux_middle/rty/expr/struct.KVar.html | 16 +- doc/flux_middle/rty/expr/struct.KVid.html | 2 +- doc/flux_middle/rty/expr/struct.Name.html | 2 +- doc/flux_middle/rty/expr/struct.Path.html | 4 +- doc/flux_middle/rty/expr/type.Expr.html | 30 +- doc/flux_middle/rty/fn.box_args.html | 2 +- doc/flux_middle/rty/fn.int_invariants.html | 2 +- doc/flux_middle/rty/fn.uint_invariants.html | 2 +- doc/flux_middle/rty/fold/index.html | 2 +- .../rty/fold/trait.FallibleTypeFolder.html | 6 +- .../rty/fold/trait.TypeFoldable.html | 18 +- .../rty/fold/trait.TypeFolder.html | 4 +- .../rty/fold/trait.TypeSuperFoldable.html | 6 +- .../rty/fold/trait.TypeSuperVisitable.html | 6 +- .../rty/fold/trait.TypeVisitable.html | 16 +- .../rty/fold/trait.TypeVisitor.html | 6 +- doc/flux_middle/rty/index.html | 6 +- doc/flux_middle/rty/macro.Bool.html | 2 +- doc/flux_middle/rty/macro.Float.html | 2 +- doc/flux_middle/rty/macro.Int.html | 2 +- doc/flux_middle/rty/macro.Ref.html | 2 +- doc/flux_middle/rty/macro.Uint.html | 2 +- .../rty/normalize/struct.BaseSpanner.html | 16 +- .../rty/normalize/struct.Normalizer.html | 16 +- doc/flux_middle/rty/pretty/index.html | 2 +- .../rty/projections/struct.Normalizer.html | 4 +- .../refining/fn.refine_bound_variables.html | 2 +- .../rty/refining/fn.refine_default.html | 2 +- doc/flux_middle/rty/refining/index.html | 2 +- .../rty/refining/struct.Refiner.html | 26 +- doc/flux_middle/rty/sidebar-items.js | 2 +- doc/flux_middle/rty/static.INT_TYS.html | 2 +- doc/flux_middle/rty/static.UINT_TYS.html | 2 +- doc/flux_middle/rty/struct.AdtDef.html | 8 +- doc/flux_middle/rty/struct.AdtDefData.html | 8 +- doc/flux_middle/rty/struct.AliasTy.html | 24 +- doc/flux_middle/rty/struct.Binder.html | 46 +-- doc/flux_middle/rty/struct.Clause.html | 14 +- doc/flux_middle/rty/struct.ClosureOblig.html | 4 +- doc/flux_middle/rty/struct.Defn.html | 2 +- doc/flux_middle/rty/struct.EarlyBinder.html | 14 +- doc/flux_middle/rty/struct.FnOutput.html | 16 +- doc/flux_middle/rty/struct.FnSig.html | 18 +- .../rty/struct.FnTraitPredicate.html | 18 +- doc/flux_middle/rty/struct.FuncDecl.html | 4 +- doc/flux_middle/rty/struct.FuncSort.html | 8 +- doc/flux_middle/rty/struct.GeneratorArgs.html | 4 +- .../rty/struct.GeneratorObligPredicate.html | 20 +- .../rty/struct.GenericParamDef.html | 2 +- doc/flux_middle/rty/struct.Generics.html | 6 +- doc/flux_middle/rty/struct.Index.html | 20 +- doc/flux_middle/rty/struct.Invariant.html | 20 +- doc/flux_middle/rty/struct.KVar.html | 16 +- doc/flux_middle/rty/struct.KVid.html | 2 +- doc/flux_middle/rty/struct.Name.html | 2 +- .../rty/struct.OutlivesPredicate.html | 49 +++ doc/flux_middle/rty/struct.ParamTy.html | 5 +- doc/flux_middle/rty/struct.Path.html | 4 +- doc/flux_middle/rty/struct.PolyFuncSort.html | 8 +- .../rty/struct.ProjectionPredicate.html | 20 +- doc/flux_middle/rty/struct.Qualifier.html | 16 +- doc/flux_middle/rty/struct.RefineParam.html | 2 +- doc/flux_middle/rty/struct.ScalarInt.html | 5 +- doc/flux_middle/rty/struct.SortVar.html | 8 +- .../rty/struct.TraitPredicate.html | 20 +- doc/flux_middle/rty/struct.TraitRef.html | 20 +- doc/flux_middle/rty/struct.TyS.html | 12 +- doc/flux_middle/rty/struct.VariantSig.html | 20 +- .../rty/subst/struct.BoundVarReplacer.html | 16 +- .../rty/subst/struct.EVarSubstFolder.html | 16 +- .../rty/subst/struct.GenericsSubstFolder.html | 16 +- doc/flux_middle/rty/type.Constraints.html | 2 +- doc/flux_middle/rty/type.Expr.html | 30 +- doc/flux_middle/rty/type.GenericArgs.html | 8 +- doc/flux_middle/rty/type.OpaqueArgsMap.html | 2 +- doc/flux_middle/rty/type.PolyFnSig.html | 4 +- doc/flux_middle/rty/type.PolyTy.html | 2 +- doc/flux_middle/rty/type.PolyVariant.html | 4 +- doc/flux_middle/rty/type.PolyVariants.html | 2 +- doc/flux_middle/rty/type.RefineArgs.html | 2 +- doc/flux_middle/rty/type.Ty.html | 24 +- .../rty/type.TypeOutlivesPredicate.html | 1 + ...er_sess_G_FOR_UnsupportedGenericBound.html | 2 +- ...ndler_sess_G_FOR_UnsupportedLocalDecl.html | 2 +- ...tic_handler_sess_G_FOR_UnsupportedMir.html | 2 +- .../rustc/lowering/errors/index.html | 2 +- .../struct.UnsupportedGenericBound.html | 6 +- .../errors/struct.UnsupportedLocalDecl.html | 6 +- .../errors/struct.UnsupportedMir.html | 8 +- .../rustc/lowering/fn.lower_clause.html | 2 +- .../lowering/fn.lower_type_outlives.html | 4 + doc/flux_middle/rustc/lowering/index.html | 2 +- .../rustc/lowering/sidebar-items.js | 2 +- .../lowering/struct.UnsupportedReason.html | 2 +- doc/flux_middle/rustc/ty/enum.AliasKind.html | 8 +- .../rustc/ty/enum.BoundRegionKind.html | 2 +- .../rustc/ty/enum.BoundVariableKind.html | 2 +- doc/flux_middle/rustc/ty/enum.ClauseKind.html | 5 +- doc/flux_middle/rustc/ty/enum.Const.html | 8 +- doc/flux_middle/rustc/ty/enum.GenericArg.html | 8 +- doc/flux_middle/rustc/ty/enum.Region.html | 20 +- doc/flux_middle/rustc/ty/enum.TyKind.html | 8 +- .../rustc/ty/fn.region_to_string.html | 2 +- doc/flux_middle/rustc/ty/index.html | 4 +- doc/flux_middle/rustc/ty/sidebar-items.js | 2 +- doc/flux_middle/rustc/ty/struct.AdtDef.html | 6 +- .../rustc/ty/struct.AdtDefData.html | 10 +- doc/flux_middle/rustc/ty/struct.AliasTy.html | 10 +- doc/flux_middle/rustc/ty/struct.Binder.html | 4 +- .../rustc/ty/struct.BoundRegion.html | 8 +- doc/flux_middle/rustc/ty/struct.Clause.html | 4 +- .../rustc/ty/struct.ClosureArgs.html | 4 +- .../rustc/ty/struct.ClosureArgsParts.html | 2 +- .../rustc/ty/struct.DebruijnIndex.html | 2 +- .../rustc/ty/struct.EarlyBinder.html | 2 +- doc/flux_middle/rustc/ty/struct.FieldDef.html | 8 +- doc/flux_middle/rustc/ty/struct.FnSig.html | 8 +- .../rustc/ty/struct.FreeRegion.html | 8 +- .../rustc/ty/struct.GeneratorArgs.html | 4 +- .../rustc/ty/struct.GeneratorArgsParts.html | 4 +- .../rustc/ty/struct.GenericParamDef.html | 2 +- doc/flux_middle/rustc/ty/struct.Generics.html | 2 +- .../rustc/ty/struct.OutlivesPredicate.html | 49 +++ doc/flux_middle/rustc/ty/struct.ParamTy.html | 5 +- .../rustc/ty/struct.ProjectionPredicate.html | 8 +- .../rustc/ty/struct.ScalarInt.html | 5 +- .../rustc/ty/struct.TraitPredicate.html | 8 +- doc/flux_middle/rustc/ty/struct.TraitRef.html | 8 +- doc/flux_middle/rustc/ty/struct.Ty.html | 8 +- doc/flux_middle/rustc/ty/struct.TyS.html | 8 +- .../rustc/ty/struct.ValueConst.html | 8 +- .../rustc/ty/struct.VariantDef.html | 8 +- .../rustc/ty/type.GenericArgs.html | 4 +- doc/flux_middle/rustc/ty/type.PolyFnSig.html | 2 +- .../rustc/ty/type.TypeOutlivesPredicate.html | 1 + doc/flux_refineck/all.html | 2 +- .../checker/errors/enum.CheckerErrKind.html | 4 +- doc/flux_refineck/checker/errors/index.html | 2 +- .../checker/errors/struct.CheckerError.html | 4 +- .../checker/errors/trait.ResultExt.html | 6 +- .../checker/fn.bool_int_cast.html | 2 +- .../checker/fn.bool_uint_cast.html | 2 +- .../checker/fn.int_bit_width.html | 2 +- .../checker/fn.int_int_cast.html | 2 +- .../checker/fn.snapshot_at_dominator.html | 2 +- .../checker/fn.uint_bit_width.html | 2 +- .../checker/fn.uint_int_cast.html | 2 +- .../checker/fn.uint_uint_cast.html | 2 +- doc/flux_refineck/checker/index.html | 2 +- doc/flux_refineck/checker/struct.Checker.html | 36 +- .../checker/struct.RefineMode.html | 8 +- .../checker/struct.ShapeMode.html | 8 +- .../checker/struct.ShapeResult.html | 2 +- doc/flux_refineck/checker/trait.Mode.html | 2 +- .../fn.mk_generator_obligations.html | 2 +- .../constraint_gen/fn.mk_obligations.html | 2 +- doc/flux_refineck/constraint_gen/index.html | 2 +- .../constraint_gen/pretty/index.html | 2 +- .../constraint_gen/struct.ConstrGen.html | 12 +- .../constraint_gen/struct.InferCtxt.html | 28 +- .../constraint_gen/struct.Obligations.html | 2 +- .../constraint_gen/struct.Tag.html | 4 +- .../constraint_gen/trait.KVarGen.html | 2 +- .../fixpoint_encoding/enum.Key.html | 8 +- .../fixpoint_encoding/fixpoint/enum.Var.html | 24 ++ .../fixpoint_generated/enum.Proj.html | 23 ++ .../fixpoint_generated/enum.Sort.html | 31 ++ .../fixpoint_generated/enum.SortCtor.html | 25 ++ .../fixpoint/fixpoint_generated/index.html | 1 + .../fixpoint_generated/sidebar-items.js | 1 + .../struct.FixpointTypes.html | 16 + .../struct.PolyFuncSort.html | 29 ++ .../fixpoint_generated/type.ConstInfo.html | 5 + .../fixpoint_generated/type.Constraint.html | 6 + .../fixpoint_generated/type.Expr.html | 11 + .../fixpoint_generated/type.Func.html | 5 + .../fixpoint_generated/type.KVar.html | 5 + .../fixpoint_generated/type.Pred.html | 5 + .../fixpoint_generated/type.Qualifier.html | 6 + .../fixpoint_generated/type.Task.html | 9 + .../fixpoint_encoding/fixpoint/index.html | 1 + .../fixpoint/sidebar-items.js | 1 + .../fixpoint/struct.GlobalVar.html | 56 +++ .../fixpoint/struct.KVid.html | 58 +++ .../fixpoint/struct.LocalVar.html | 56 +++ .../fn.fixpoint_const_map.html | 2 +- .../fn.func_sort_to_fixpoint.html | 2 +- .../fn.qualifier_to_fixpoint.html | 4 +- .../fn.sort_to_fixpoint.html | 2 +- .../fixpoint_encoding/fn.stitch.html | 4 + .../fixpoint_encoding/index.html | 7 +- .../fixpoint_encoding/sidebar-items.js | 2 +- .../fixpoint_encoding/struct.ConstInfo.html | 8 +- .../fixpoint_encoding/struct.Env.html | 23 ++ .../fixpoint_encoding/struct.ExprCtxt.html | 14 +- .../struct.FixpointCtxt.html | 50 ++- .../struct.FixpointKVar.html | 6 +- .../fixpoint_encoding/struct.KVarStore.html | 4 +- .../fixpoint_encoding/struct.TagIdx.html | 7 +- .../fixpoint_encoding/type.Bindings.html | 8 +- .../fixpoint_encoding/type.ConstMap.html | 2 +- .../fixpoint_encoding/type.KVidMap.html | 6 +- .../fixpoint_encoding/type.NameMap.html | 3 - .../fixpoint_encoding/type.PredSpans.html | 6 +- .../points_to/struct.PlaceIndex.html | 2 +- .../refine_tree/enum.AssumeInvariants.html | 4 +- .../refine_tree/enum.NodeKind.html | 2 +- .../refine_tree/fn.children_to_fixpoint.html | 4 +- doc/flux_refineck/refine_tree/fn.stitch.html | 4 - doc/flux_refineck/refine_tree/index.html | 4 +- .../refine_tree/pretty/fn.bindings_chain.html | 2 +- .../refine_tree/pretty/fn.flatten_conjs.html | 2 +- .../refine_tree/pretty/fn.fmt_children.html | 2 +- .../refine_tree/pretty/fn.preds_chain.html | 2 +- .../refine_tree/pretty/index.html | 2 +- .../refine_tree/sidebar-items.js | 2 +- .../refine_tree/struct.Node.html | 8 +- .../refine_tree/struct.NodePtr.html | 2 +- .../refine_tree/struct.ParentsIter.html | 4 +- .../refine_tree/struct.RefineCtxt.html | 14 +- .../refine_tree/struct.RefineSubtree.html | 6 +- .../refine_tree/struct.RefineTree.html | 6 +- .../refine_tree/struct.Scope.html | 8 +- .../refine_tree/struct.Snapshot.html | 4 +- .../refine_tree/struct.Unpacker.html | 6 +- .../refine_tree/struct.WeakNodePtr.html | 2 +- .../type_env/projection/enum.LocKind.html | 4 +- doc/search-index.js | 14 +- doc/src/flux_fixpoint/constraint.rs.html | 364 ++++------------- doc/src/flux_fixpoint/lib.rs.html | 150 +++++-- doc/src/flux_middle/rty/fold.rs.html | 40 +- doc/src/flux_middle/rty/mod.rs.html | 38 +- doc/src/flux_middle/rty/refining.rs.html | 10 + doc/src/flux_middle/rustc/lowering.rs.html | 32 +- doc/src/flux_middle/rustc/ty.rs.html | 10 +- doc/src/flux_refineck/checker.rs.html | 6 +- doc/src/flux_refineck/constraint_gen.rs.html | 20 +- .../flux_refineck/fixpoint_encoding.rs.html | 374 ++++++++++++++---- doc/src/flux_refineck/refine_tree.rs.html | 34 +- doc/trait.impl/core/clone/trait.Clone.js | 10 +- doc/trait.impl/core/cmp/trait.Eq.js | 6 +- doc/trait.impl/core/cmp/trait.Ord.js | 6 +- doc/trait.impl/core/cmp/trait.PartialEq.js | 6 +- doc/trait.impl/core/cmp/trait.PartialOrd.js | 6 +- doc/trait.impl/core/convert/trait.From.js | 8 +- doc/trait.impl/core/default/trait.Default.js | 4 +- doc/trait.impl/core/fmt/trait.Debug.js | 12 +- doc/trait.impl/core/fmt/trait.Display.js | 6 +- doc/trait.impl/core/hash/trait.Hash.js | 6 +- doc/trait.impl/core/iter/range/trait.Step.js | 5 +- .../iter/traits/iterator/trait.Iterator.js | 2 +- .../iter/traits/marker/trait.TrustedStep.js | 5 +- doc/trait.impl/core/marker/trait.Copy.js | 8 +- doc/trait.impl/core/marker/trait.Freeze.js | 4 +- doc/trait.impl/core/marker/trait.Send.js | 4 +- .../core/marker/trait.StructuralEq.js | 8 +- .../core/marker/trait.StructuralPartialEq.js | 8 +- doc/trait.impl/core/marker/trait.Sync.js | 4 +- doc/trait.impl/core/marker/trait.Unpin.js | 4 +- doc/trait.impl/core/ops/arith/trait.Add.js | 5 +- doc/trait.impl/core/ops/arith/trait.Sub.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 4 +- .../panic/unwind_safe/trait.UnwindSafe.js | 4 +- doc/trait.impl/flux_fixpoint/trait.Symbol.js | 3 + doc/trait.impl/flux_fixpoint/trait.Types.js | 4 + .../flux_middle/pretty/trait.Pretty.js | 2 +- .../rty/fold/trait.TypeFoldable.js | 2 +- .../flux_middle/rty/fold/trait.TypeFolder.js | 2 +- .../rty/fold/trait.TypeVisitable.js | 2 +- .../marker/trait.DynSend.js | 4 +- .../marker/trait.DynSync.js | 4 +- .../diagnostic/trait.IntoDiagnosticArg.js | 2 +- .../trait.IntoDiagnostic.js | 10 +- doc/trait.impl/rustc_index/idx/trait.Idx.js | 5 +- .../serialize/trait.Decodable.js | 8 +- .../serialize/trait.Encodable.js | 8 +- doc/trait.impl/serde/de/trait.Deserialize.js | 2 +- doc/type.impl/alloc/vec/struct.Vec.js | 2 +- doc/type.impl/core/result/enum.Result.js | 2 +- .../constraint/enum.Constraint.js | 3 + .../flux_fixpoint/constraint/enum.Expr.js | 3 + .../flux_fixpoint/constraint/enum.Func.js | 3 + .../flux_fixpoint/constraint/enum.Pred.js | 3 + .../constraint/struct.Qualifier.js | 3 + .../flux_fixpoint/struct.ConstInfo.js | 3 + doc/type.impl/flux_fixpoint/struct.KVar.js | 3 + doc/type.impl/flux_fixpoint/struct.Task.js | 3 + .../flux_middle/intern/struct.Interned.js | 2 +- doc/type.impl/flux_middle/intern/type.List.js | 2 +- .../flux_middle/rty/struct.Binder.js | 2 +- .../flux_middle/rustc/ty/struct.Binder.js | 2 +- .../rustc/ty/struct.OutlivesPredicate.js | 3 + guide/install.html | 4 +- guide/run.html | 4 +- guide/specs.html | 4 +- highlight.js | 49 ++- index.html | 4 +- print.html | 38 +- searchindex.js | 2 +- searchindex.json | 2 +- 423 files changed, 2741 insertions(+), 2105 deletions(-) delete mode 100644 doc/flux_fixpoint/constraint/constant.NAME0.html delete mode 100644 doc/flux_fixpoint/constraint/constant.NAME1.html delete mode 100644 doc/flux_fixpoint/constraint/constant.NAME2.html delete mode 100644 doc/flux_fixpoint/constraint/struct.ConstName.html delete mode 100644 doc/flux_fixpoint/constraint/struct.KVid.html delete mode 100644 doc/flux_fixpoint/constraint/struct.Name.html create mode 100644 doc/flux_fixpoint/macro.declare_types!.html create mode 100644 doc/flux_fixpoint/macro.declare_types.html delete mode 100644 doc/flux_fixpoint/struct.ConstName.html delete mode 100644 doc/flux_fixpoint/struct.KVid.html delete mode 100644 doc/flux_fixpoint/struct.Name.html create mode 100644 doc/flux_fixpoint/struct.StringTypes.html create mode 100644 doc/flux_fixpoint/trait.Symbol.html create mode 100644 doc/flux_fixpoint/trait.Types.html create mode 100644 doc/flux_middle/rty/struct.OutlivesPredicate.html create mode 100644 doc/flux_middle/rty/type.TypeOutlivesPredicate.html create mode 100644 doc/flux_middle/rustc/lowering/fn.lower_type_outlives.html create mode 100644 doc/flux_middle/rustc/ty/struct.OutlivesPredicate.html create mode 100644 doc/flux_middle/rustc/ty/type.TypeOutlivesPredicate.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/enum.Var.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Proj.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Sort.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.SortCtor.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/index.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/sidebar-items.js create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.FixpointTypes.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.PolyFuncSort.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.ConstInfo.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Constraint.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Expr.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Func.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.KVar.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Pred.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Qualifier.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Task.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/index.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/sidebar-items.js create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/struct.GlobalVar.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/struct.KVid.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fixpoint/struct.LocalVar.html create mode 100644 doc/flux_refineck/fixpoint_encoding/fn.stitch.html create mode 100644 doc/flux_refineck/fixpoint_encoding/struct.Env.html delete mode 100644 doc/flux_refineck/fixpoint_encoding/type.NameMap.html delete mode 100644 doc/flux_refineck/refine_tree/fn.stitch.html create mode 100644 doc/trait.impl/flux_fixpoint/trait.Symbol.js create mode 100644 doc/trait.impl/flux_fixpoint/trait.Types.js create mode 100644 doc/type.impl/flux_fixpoint/constraint/enum.Constraint.js create mode 100644 doc/type.impl/flux_fixpoint/constraint/enum.Expr.js create mode 100644 doc/type.impl/flux_fixpoint/constraint/enum.Func.js create mode 100644 doc/type.impl/flux_fixpoint/constraint/enum.Pred.js create mode 100644 doc/type.impl/flux_fixpoint/constraint/struct.Qualifier.js create mode 100644 doc/type.impl/flux_fixpoint/struct.ConstInfo.js create mode 100644 doc/type.impl/flux_fixpoint/struct.KVar.js create mode 100644 doc/type.impl/flux_fixpoint/struct.Task.js create mode 100644 doc/type.impl/flux_middle/rustc/ty/struct.OutlivesPredicate.js diff --git a/404.html b/404.html index c72858d487..26f710df5a 100644 --- a/404.html +++ b/404.html @@ -92,7 +92,9 @@ - + diff --git a/about.html b/about.html index 90156e23ca..b2dda8891c 100644 --- a/about.html +++ b/about.html @@ -91,7 +91,9 @@ - + diff --git a/blog/01-introducing-flux.html b/blog/01-introducing-flux.html index 60183cf343..8a01ebcaa7 100644 --- a/blog/01-introducing-flux.html +++ b/blog/01-introducing-flux.html @@ -91,7 +91,9 @@ - + diff --git a/blog/02-ownership.html b/blog/02-ownership.html index eabd1d6337..95e71494fd 100644 --- a/blog/02-ownership.html +++ b/blog/02-ownership.html @@ -91,7 +91,9 @@ - + diff --git a/blog/03-vectors.html b/blog/03-vectors.html index 323b25becc..6ea6b64235 100644 --- a/blog/03-vectors.html +++ b/blog/03-vectors.html @@ -91,7 +91,9 @@ - + diff --git a/css/chrome.css b/css/chrome.css index 2314f7a161..8b78255de5 100644 --- a/css/chrome.css +++ b/css/chrome.css @@ -269,8 +269,14 @@ pre > .buttons button { /* On mobile, make it easier to tap buttons. */ padding: 0.3rem 1rem; } + + .sidebar-resize-indicator { + /* Hide resize indicator on devices with limited accuracy */ + display: none; + } } pre > code { + display: block; padding: 1rem; } @@ -422,22 +428,35 @@ ul#searchresults span.teaser em { position: absolute; cursor: col-resize; width: 0; - right: 0; + right: calc(var(--sidebar-resize-indicator-width) * -1); top: 0; bottom: 0; + display: flex; + align-items: center; +} + +.sidebar-resize-handle .sidebar-resize-indicator { + width: 100%; + height: 12px; + background-color: var(--icons); + margin-inline-start: var(--sidebar-resize-indicator-space); +} + +[dir=rtl] .sidebar .sidebar-resize-handle { + left: calc(var(--sidebar-resize-indicator-width) * -1); + right: unset; } -[dir=rtl] .sidebar .sidebar-resize-handle { right: unset; left: 0; } .js .sidebar .sidebar-resize-handle { cursor: col-resize; - width: 5px; + width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)); } /* sidebar-hidden */ #sidebar-toggle-anchor:not(:checked) ~ .sidebar { - transform: translateX(calc(0px - var(--sidebar-width))); + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); z-index: -1; } [dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar { - transform: translateX(var(--sidebar-width)); + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); } .sidebar::-webkit-scrollbar { background: var(--sidebar-bg); @@ -448,15 +467,15 @@ ul#searchresults span.teaser em { /* sidebar-visible */ #sidebar-toggle-anchor:checked ~ .page-wrapper { - transform: translateX(var(--sidebar-width)); + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); } [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { - transform: translateX(calc(0px - var(--sidebar-width))); + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); } @media only screen and (min-width: 620px) { #sidebar-toggle-anchor:checked ~ .page-wrapper { transform: none; - margin-inline-start: var(--sidebar-width); + margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)); } [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { transform: none; diff --git a/css/print.css b/css/print.css index dcf0ba64b9..80ec3a5441 100644 --- a/css/print.css +++ b/css/print.css @@ -7,7 +7,7 @@ } #page-wrapper.page-wrapper { - transform: none; + transform: none !important; margin-inline-start: 0px; overflow-y: initial; } diff --git a/css/variables.css b/css/variables.css index 10a7590944..0da55e8c9a 100644 --- a/css/variables.css +++ b/css/variables.css @@ -3,6 +3,8 @@ :root { --sidebar-width: 300px; + --sidebar-resize-indicator-width: 8px; + --sidebar-resize-indicator-space: 2px; --page-padding: 15px; --content-max-width: 750px; --menu-bar-height: 50px; diff --git a/dev/architecture.html b/dev/architecture.html index b7a3980891..f8ad6eb77e 100644 --- a/dev/architecture.html +++ b/dev/architecture.html @@ -91,7 +91,9 @@ - + @@ -176,24 +178,22 @@

driver. We hook into the compiler by implementing the Callbacks trait. The implementation is located is in the flux-driver crate, and it is the main entry point to Flux.

Crates

Intermediate Representations

Flux has several intermediate representations (IR) for types. They represent a refined version of an equivalent type in some rustc IR. We have picked a distinct verb to refer to the process of going between these different representations to make it easier to refer to them. The following image summarizes all the IRs and the process for going between them.

diff --git a/dev/develop.html b/dev/develop.html index c0b9c76cc3..90362f2068 100644 --- a/dev/develop.html +++ b/dev/develop.html @@ -91,7 +91,9 @@ - + diff --git a/doc/flux_fixpoint/all.html b/doc/flux_fixpoint/all.html index f20c40f90c..24d78f3911 100644 --- a/doc/flux_fixpoint/all.html +++ b/doc/flux_fixpoint/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/flux_fixpoint/big_int/struct.BigInt.html b/doc/flux_fixpoint/big_int/struct.BigInt.html index 1e1d0a0fce..19f28795df 100644 --- a/doc/flux_fixpoint/big_int/struct.BigInt.html +++ b/doc/flux_fixpoint/big_int/struct.BigInt.html @@ -1,4 +1,4 @@ -BigInt in flux_fixpoint::big_int - Rust
pub struct BigInt {
+BigInt in flux_fixpoint::big_int - Rust
pub struct BigInt {
     sign: Sign,
     val: u128,
 }
Expand description

A signed integer in the range [-2^128, 2^128], represented by a u128 and an explicit sign.

@@ -14,7 +14,7 @@ that type, i.e., 2^(bit_width - 1) - 1.

source

pub fn uint_max(bit_width: u32) -> BigInt

Given the bit width of an unsigned integer type, produces the maximum unsigned integer for that type, i.e., 2^bit_width - 1.

-

Trait Implementations§

source§

impl Clone for BigInt

source§

fn clone(&self) -> BigInt

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BigInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for BigInt

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for BigInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for BigInt

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<i128> for BigInt

source§

fn from(val: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for BigInt

source§

fn from(val: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for BigInt

source§

fn from(val: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for BigInt

source§

fn from(val: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for BigInt

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for BigInt

source§

fn clone(&self) -> BigInt

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BigInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for BigInt

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for BigInt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for BigInt

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<i128> for BigInt

source§

fn from(val: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for BigInt

source§

fn from(val: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for BigInt

source§

fn from(val: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for BigInt

source§

fn from(val: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for BigInt

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for BigInt

source§

fn cmp(&self, other: &BigInt) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere @@ -41,4 +41,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/constant.NAME0.html b/doc/flux_fixpoint/constraint/constant.NAME0.html deleted file mode 100644 index 197654487b..0000000000 --- a/doc/flux_fixpoint/constraint/constant.NAME0.html +++ /dev/null @@ -1 +0,0 @@ -NAME0 in flux_fixpoint::constraint - Rust
pub const NAME0: Name;
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/constant.NAME1.html b/doc/flux_fixpoint/constraint/constant.NAME1.html deleted file mode 100644 index 909c9c6a36..0000000000 --- a/doc/flux_fixpoint/constraint/constant.NAME1.html +++ /dev/null @@ -1 +0,0 @@ -NAME1 in flux_fixpoint::constraint - Rust
pub const NAME1: Name;
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/constant.NAME2.html b/doc/flux_fixpoint/constraint/constant.NAME2.html deleted file mode 100644 index 7ff74adc9e..0000000000 --- a/doc/flux_fixpoint/constraint/constant.NAME2.html +++ /dev/null @@ -1 +0,0 @@ -NAME2 in flux_fixpoint::constraint - Rust
pub const NAME2: Name;
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.BinOp.html b/doc/flux_fixpoint/constraint/enum.BinOp.html index d44f79857a..c28eeb4ac3 100644 --- a/doc/flux_fixpoint/constraint/enum.BinOp.html +++ b/doc/flux_fixpoint/constraint/enum.BinOp.html @@ -1,4 +1,4 @@ -BinOp in flux_fixpoint::constraint - Rust
pub enum BinOp {
+BinOp in flux_fixpoint::constraint - Rust
pub enum BinOp {
 
Show 15 variants Iff, Imp, Or, @@ -14,11 +14,11 @@ Mul, Div, Mod, -
}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt

§

Ge

§

Lt

§

Le

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt

§

Ge

§

Lt

§

Le

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for BinOp

source§

fn eq(&self, other: &BinOp) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for BinOp

source§

fn eq(&self, other: &BinOp) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for BinOp

source§

impl Eq for BinOp

source§

impl StructuralEq for BinOp

source§

impl StructuralPartialEq for BinOp

Auto Trait Implementations§

§

impl RefUnwindSafe for BinOp

§

impl Send for BinOp

§

impl Sync for BinOp

§

impl Unpin for BinOp

§

impl UnwindSafe for BinOp

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Copy for BinOp

source§

impl Eq for BinOp

source§

impl StructuralEq for BinOp

source§

impl StructuralPartialEq for BinOp

Auto Trait Implementations§

§

impl RefUnwindSafe for BinOp

§

impl Send for BinOp

§

impl Sync for BinOp

§

impl Unpin for BinOp

§

impl UnwindSafe for BinOp

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere @@ -34,4 +34,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.Constant.html b/doc/flux_fixpoint/constraint/enum.Constant.html index d6e8bbf702..337f1309cc 100644 --- a/doc/flux_fixpoint/constraint/enum.Constant.html +++ b/doc/flux_fixpoint/constraint/enum.Constant.html @@ -1,15 +1,15 @@ -Constant in flux_fixpoint::constraint - Rust
pub enum Constant {
+Constant in flux_fixpoint::constraint - Rust
pub enum Constant {
     Int(BigInt),
     Real(i128),
     Bool(bool),
-}

Variants§

§

Int(BigInt)

§

Real(i128)

§

Bool(bool)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Int(BigInt)

§

Real(i128)

§

Bool(bool)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Constant

source§

fn eq(&self, other: &Constant) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Constant

source§

fn eq(&self, other: &Constant) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralEq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralEq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere @@ -25,4 +25,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.Constraint.html b/doc/flux_fixpoint/constraint/enum.Constraint.html index 23fee2100a..7238be3b79 100644 --- a/doc/flux_fixpoint/constraint/enum.Constraint.html +++ b/doc/flux_fixpoint/constraint/enum.Constraint.html @@ -1,19 +1,28 @@ -Constraint in flux_fixpoint::constraint - Rust
pub enum Constraint<Tag> {
-    Pred(Pred, Option<Tag>),
+Constraint in flux_fixpoint::constraint - Rust
pub enum Constraint<T: Types> {
+    Pred(Pred<T>, Option<T::Tag>),
     Conj(Vec<Self>),
-    Guard(Pred, Box<Self>),
-    ForAll(Name, Sort, Pred, Box<Self>),
-}

Variants§

§

Pred(Pred, Option<Tag>)

§

Conj(Vec<Self>)

§

Guard(Pred, Box<Self>)

§

ForAll(Name, Sort, Pred, Box<Self>)

Implementations§

source§

impl<Tag> Constraint<Tag>

source

pub const TRUE: Self = _

source

pub fn is_concrete(&self) -> bool

Returns true if the constraint has at least one concrete RHS (“head”) predicates. + Guard(Pred<T>, Box<Self>), + ForAll(T::Var, Sort, Pred<T>, Box<Self>), +}

Variants§

§

Pred(Pred<T>, Option<T::Tag>)

§

Conj(Vec<Self>)

§

Guard(Pred<T>, Box<Self>)

§

ForAll(T::Var, Sort, Pred<T>, Box<Self>)

Implementations§

source§

impl<T: Types> Constraint<T>

source

pub const TRUE: Self = _

source

pub fn is_concrete(&self) -> bool

Returns true if the constraint has at least one concrete RHS (“head”) predicates. If !c.is_concrete then c is trivially satisfiable and we can avoid calling fixpoint.

-

Trait Implementations§

source§

impl<Tag> Display for Constraint<Tag>where - Tag: Display,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Tag> Hash for Constraint<Tag>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl<T: Types> Display for Constraint<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Constraint<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<Tag> RefUnwindSafe for Constraint<Tag>where - Tag: RefUnwindSafe,

§

impl<Tag> Send for Constraint<Tag>where - Tag: Send,

§

impl<Tag> Sync for Constraint<Tag>where - Tag: Sync,

§

impl<Tag> Unpin for Constraint<Tag>where - Tag: Unpin,

§

impl<Tag> UnwindSafe for Constraint<Tag>where - Tag: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Constraint<T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Tag: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Constraint<T>where + <T as Types>::KVar: Send, + <T as Types>::Tag: Send, + <T as Types>::Var: Send,

§

impl<T> Sync for Constraint<T>where + <T as Types>::KVar: Sync, + <T as Types>::Tag: Sync, + <T as Types>::Var: Sync,

§

impl<T> Unpin for Constraint<T>where + <T as Types>::KVar: Unpin, + <T as Types>::Tag: Unpin, + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Constraint<T>where + <T as Types>::KVar: UnwindSafe, + <T as Types>::Tag: UnwindSafe, + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -24,4 +33,5 @@
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.Expr.html b/doc/flux_fixpoint/constraint/enum.Expr.html index 5b50f4cf12..a4192ab79a 100644 --- a/doc/flux_fixpoint/constraint/enum.Expr.html +++ b/doc/flux_fixpoint/constraint/enum.Expr.html @@ -1,20 +1,24 @@ -Expr in flux_fixpoint::constraint - Rust
pub enum Expr {
-    Var(Name),
-    ConstVar(ConstName),
+Expr in flux_fixpoint::constraint - Rust
pub enum Expr<T: Types> {
+    Var(T::Var),
     Constant(Constant),
-    BinaryOp(BinOp, Box<[Expr; 2]>),
-    App(Func, Vec<Expr>),
+    BinaryOp(BinOp, Box<[Self; 2]>),
+    App(Func<T>, Vec<Self>),
     UnaryOp(UnOp, Box<Self>),
-    Pair(Box<[Expr; 2]>),
-    Proj(Box<Expr>, Proj),
-    IfThenElse(Box<[Expr; 3]>),
+    Pair(Box<[Self; 2]>),
+    Proj(Box<Self>, Proj),
+    IfThenElse(Box<[Self; 3]>),
     Unit,
-}

Variants§

§

Var(Name)

§

ConstVar(ConstName)

§

Constant(Constant)

§

BinaryOp(BinOp, Box<[Expr; 2]>)

§

App(Func, Vec<Expr>)

§

UnaryOp(UnOp, Box<Self>)

§

Pair(Box<[Expr; 2]>)

§

Proj(Box<Expr>, Proj)

§

IfThenElse(Box<[Expr; 3]>)

§

Unit

Implementations§

source§

impl Expr

source

pub const ZERO: Expr = _

source

pub const ONE: Expr = _

source

pub fn eq(self, other: Expr) -> Expr

Trait Implementations§

source§

impl Debug for Expr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Expr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ConstName> for Expr

source§

fn from(c_n: ConstName) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Expr

source§

fn from(n: Name) -> Self

Converts to this type from the input type.
source§

impl Hash for Expr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Var(T::Var)

§

Constant(Constant)

§

BinaryOp(BinOp, Box<[Self; 2]>)

§

App(Func<T>, Vec<Self>)

§

UnaryOp(UnOp, Box<Self>)

§

Pair(Box<[Self; 2]>)

§

Proj(Box<Self>, Proj)

§

IfThenElse(Box<[Self; 3]>)

§

Unit

Implementations§

source§

impl<T: Types> Expr<T>

source

pub const ZERO: Expr<T> = _

source

pub const ONE: Expr<T> = _

source

pub fn eq(self, other: Self) -> Self

Trait Implementations§

source§

impl<T: Types> Display for Expr<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Expr<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Expr

§

impl Send for Expr

§

impl Sync for Expr

§

impl Unpin for Expr

§

impl UnwindSafe for Expr

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Expr<T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Expr<T>where + <T as Types>::Var: Send,

§

impl<T> Sync for Expr<T>where + <T as Types>::Var: Sync,

§

impl<T> Unpin for Expr<T>where + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Expr<T>where + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: ?Sized,
source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of @@ -22,4 +26,5 @@

source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.Func.html b/doc/flux_fixpoint/constraint/enum.Func.html index 8484a9d2c4..8e27cf6d60 100644 --- a/doc/flux_fixpoint/constraint/enum.Func.html +++ b/doc/flux_fixpoint/constraint/enum.Func.html @@ -1,12 +1,15 @@ -Func in flux_fixpoint::constraint - Rust
pub enum Func {
-    Var(Name),
-    Uif(ConstName),
+Func in flux_fixpoint::constraint - Rust
pub enum Func<T: Types> {
+    Var(T::Var),
     Itf(Symbol),
-}

Variants§

§

Var(Name)

§

Uif(ConstName)

uninterepreted function

-
§

Itf(Symbol)

interpreted (theory) function

-

Trait Implementations§

source§

impl Clone for Func

source§

fn clone(&self) -> Func

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Func

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Func

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Func

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Var(T::Var)

§

Itf(Symbol)

interpreted (theory) function

+

Trait Implementations§

source§

impl<T: Types> Display for Func<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Func<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Func

§

impl Send for Func

§

impl Sync for Func

§

impl Unpin for Func

§

impl UnwindSafe for Func

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Func<T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Func<T>where + <T as Types>::Var: Send,

§

impl<T> Sync for Func<T>where + <T as Types>::Var: Sync,

§

impl<T> Unpin for Func<T>where + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Func<T>where + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -14,8 +17,8 @@ U: From<T>,
source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere +

source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.Pred.html b/doc/flux_fixpoint/constraint/enum.Pred.html index 9e1872753f..c0613ce3ba 100644 --- a/doc/flux_fixpoint/constraint/enum.Pred.html +++ b/doc/flux_fixpoint/constraint/enum.Pred.html @@ -1,10 +1,20 @@ -Pred in flux_fixpoint::constraint - Rust
pub enum Pred {
+Pred in flux_fixpoint::constraint - Rust
pub enum Pred<T: Types> {
     And(Vec<Self>),
-    KVar(KVid, Vec<Name>),
-    Expr(Expr),
-}

Variants§

§

And(Vec<Self>)

§

KVar(KVid, Vec<Name>)

§

Expr(Expr)

Implementations§

source§

impl Pred

source

pub const TRUE: Self = _

source

pub fn is_trivially_true(&self) -> bool

source

pub fn is_concrete(&self) -> bool

Trait Implementations§

source§

impl Debug for Pred

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Pred

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Pred

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where + KVar(T::KVar, Vec<T::Var>), + Expr(Expr<T>), +}

Variants§

§

And(Vec<Self>)

§

KVar(T::KVar, Vec<T::Var>)

§

Expr(Expr<T>)

Implementations§

source§

impl<T: Types> Pred<T>

source

pub const TRUE: Self = _

source

pub fn is_trivially_true(&self) -> bool

source

pub fn is_concrete(&self) -> bool

Trait Implementations§

source§

impl<T: Types> Display for Pred<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Pred<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Pred

§

impl Send for Pred

§

impl Sync for Pred

§

impl Unpin for Pred

§

impl UnwindSafe for Pred

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Pred<T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Pred<T>where + <T as Types>::KVar: Send, + <T as Types>::Var: Send,

§

impl<T> Sync for Pred<T>where + <T as Types>::KVar: Sync, + <T as Types>::Var: Sync,

§

impl<T> Unpin for Pred<T>where + <T as Types>::KVar: Unpin, + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Pred<T>where + <T as Types>::KVar: UnwindSafe, + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -15,4 +25,5 @@
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.Proj.html b/doc/flux_fixpoint/constraint/enum.Proj.html index 246604ef68..0e2a279629 100644 --- a/doc/flux_fixpoint/constraint/enum.Proj.html +++ b/doc/flux_fixpoint/constraint/enum.Proj.html @@ -1,9 +1,9 @@ -Proj in flux_fixpoint::constraint - Rust
pub enum Proj {
+Proj in flux_fixpoint::constraint - Rust
pub enum Proj {
     Fst,
     Snd,
-}

Variants§

§

Fst

§

Snd

Trait Implementations§

source§

impl Clone for Proj

source§

fn clone(&self) -> Proj

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Proj

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Proj

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Fst

§

Snd

Trait Implementations§

source§

impl Clone for Proj

source§

fn clone(&self) -> Proj

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Hash for Proj

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Copy for Proj

Auto Trait Implementations§

§

impl RefUnwindSafe for Proj

§

impl Send for Proj

§

impl Sync for Proj

§

impl Unpin for Proj

§

impl UnwindSafe for Proj

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Copy for Proj

Auto Trait Implementations§

§

impl RefUnwindSafe for Proj

§

impl Send for Proj

§

impl Sync for Proj

§

impl Unpin for Proj

§

impl UnwindSafe for Proj

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fixpoint/constraint/enum.Sort.html b/doc/flux_fixpoint/constraint/enum.Sort.html index 328d2f47b3..a4f2b0597f 100644 --- a/doc/flux_fixpoint/constraint/enum.Sort.html +++ b/doc/flux_fixpoint/constraint/enum.Sort.html @@ -1,4 +1,4 @@ -Sort in flux_fixpoint::constraint - Rust
pub enum Sort {
+Sort in flux_fixpoint::constraint - Rust
pub enum Sort {
     Int,
     Bool,
     Real,
@@ -7,7 +7,7 @@
     Pair(Box<Sort>, Box<Sort>),
     Func(PolyFuncSort),
     App(SortCtor, Vec<Sort>),
-}

Variants§

§

Int

§

Bool

§

Real

§

Unit

§

BitVec(usize)

§

Pair(Box<Sort>, Box<Sort>)

§

Func(PolyFuncSort)

§

App(SortCtor, Vec<Sort>)

Trait Implementations§

source§

impl Clone for Sort

source§

fn clone(&self) -> Sort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Sort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Sort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Sort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Int

§

Bool

§

Real

§

Unit

§

BitVec(usize)

§

Pair(Box<Sort>, Box<Sort>)

§

Func(PolyFuncSort)

§

App(SortCtor, Vec<Sort>)

Trait Implementations§

source§

impl Clone for Sort

source§

fn clone(&self) -> Sort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for Sort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Sort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Sort

§

impl Send for Sort

§

impl Sync for Sort

§

impl Unpin for Sort

§

impl UnwindSafe for Sort

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere @@ -21,4 +21,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.SortCtor.html b/doc/flux_fixpoint/constraint/enum.SortCtor.html index a2cb19cf56..e5ba184ab4 100644 --- a/doc/flux_fixpoint/constraint/enum.SortCtor.html +++ b/doc/flux_fixpoint/constraint/enum.SortCtor.html @@ -1,7 +1,7 @@ -SortCtor in flux_fixpoint::constraint - Rust
pub enum SortCtor {
+SortCtor in flux_fixpoint::constraint - Rust
pub enum SortCtor {
     Set,
     Map,
-}

Variants§

§

Set

§

Map

Trait Implementations§

source§

impl Clone for SortCtor

source§

fn clone(&self) -> SortCtor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for SortCtor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for SortCtor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Set

§

Map

Trait Implementations§

source§

impl Clone for SortCtor

source§

fn clone(&self) -> SortCtor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for SortCtor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for SortCtor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere @@ -15,4 +15,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/enum.UnOp.html b/doc/flux_fixpoint/constraint/enum.UnOp.html index 4ae89c340e..74ba320670 100644 --- a/doc/flux_fixpoint/constraint/enum.UnOp.html +++ b/doc/flux_fixpoint/constraint/enum.UnOp.html @@ -1,11 +1,11 @@ -UnOp in flux_fixpoint::constraint - Rust
pub enum UnOp {
+UnOp in flux_fixpoint::constraint - Rust
pub enum UnOp {
     Not,
     Neg,
-}

Variants§

§

Not

§

Neg

Trait Implementations§

source§

impl Clone for UnOp

source§

fn clone(&self) -> UnOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for UnOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for UnOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for UnOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Not

§

Neg

Trait Implementations§

source§

impl Clone for UnOp

source§

fn clone(&self) -> UnOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for UnOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for UnOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for UnOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for UnOp

source§

fn eq(&self, other: &UnOp) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for UnOp

source§

fn eq(&self, other: &UnOp) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralEq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl RefUnwindSafe for UnOp

§

impl Send for UnOp

§

impl Sync for UnOp

§

impl Unpin for UnOp

§

impl UnwindSafe for UnOp

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralEq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl RefUnwindSafe for UnOp

§

impl Send for UnOp

§

impl Sync for UnOp

§

impl Unpin for UnOp

§

impl UnwindSafe for UnOp

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere @@ -21,4 +21,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/index.html b/doc/flux_fixpoint/constraint/index.html index cb84883cea..98833e56ac 100644 --- a/doc/flux_fixpoint/constraint/index.html +++ b/doc/flux_fixpoint/constraint/index.html @@ -1 +1 @@ -flux_fixpoint::constraint - Rust
\ No newline at end of file +flux_fixpoint::constraint - Rust
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/sidebar-items.js b/doc/flux_fixpoint/constraint/sidebar-items.js index 23a8ce6cc8..76279f46f1 100644 --- a/doc/flux_fixpoint/constraint/sidebar-items.js +++ b/doc/flux_fixpoint/constraint/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["NAME0","NAME1","NAME2"],"enum":["BinOp","Constant","Constraint","Expr","Func","Pred","Proj","Sort","SortCtor","UnOp"],"static":["DEFAULT_QUALIFIERS"],"struct":["Const","ConstName","FmtParens","FuncSort","KVid","Name","PolyFuncSort","PredTag","Qualifier"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["BinOp","Constant","Constraint","Expr","Func","Pred","Proj","Sort","SortCtor","UnOp"],"static":["DEFAULT_QUALIFIERS"],"struct":["Const","FmtParens","FuncSort","PolyFuncSort","PredTag","Qualifier"]}; \ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/static.DEFAULT_QUALIFIERS.html b/doc/flux_fixpoint/constraint/static.DEFAULT_QUALIFIERS.html index 7663199483..dd446ac52f 100644 --- a/doc/flux_fixpoint/constraint/static.DEFAULT_QUALIFIERS.html +++ b/doc/flux_fixpoint/constraint/static.DEFAULT_QUALIFIERS.html @@ -1 +1 @@ -DEFAULT_QUALIFIERS in flux_fixpoint::constraint - Rust
pub(crate) static DEFAULT_QUALIFIERS: LazyLock<Vec<Qualifier>>
\ No newline at end of file +DEFAULT_QUALIFIERS in flux_fixpoint::constraint - Rust
pub(crate) static DEFAULT_QUALIFIERS: LazyLock<Vec<Qualifier<StringTypes>>>
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/struct.Const.html b/doc/flux_fixpoint/constraint/struct.Const.html index 7acf52c2c0..6712f7d177 100644 --- a/doc/flux_fixpoint/constraint/struct.Const.html +++ b/doc/flux_fixpoint/constraint/struct.Const.html @@ -1,7 +1,14 @@ -Const in flux_fixpoint::constraint - Rust
pub struct Const {
-    pub name: ConstName,
+Const in flux_fixpoint::constraint - Rust
pub struct Const<T: Types> {
+    pub name: T::Var,
     pub val: i128,
-}

Fields§

§name: ConstName§val: i128

Trait Implementations§

source§

impl Clone for Const

source§

fn clone(&self) -> Const

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Const

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Copy for Const

Auto Trait Implementations§

§

impl RefUnwindSafe for Const

§

impl Send for Const

§

impl Sync for Const

§

impl Unpin for Const

§

impl UnwindSafe for Const

Blanket Implementations§

source§

impl<T> Any for Twhere +}

Fields§

§name: T::Var§val: i128

Trait Implementations§

source§

impl<T: Clone + Types> Clone for Const<T>where + T::Var: Clone,

source§

fn clone(&self) -> Const<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Copy + Types> Copy for Const<T>where + T::Var: Copy,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Const<T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Const<T>where + <T as Types>::Var: Send,

§

impl<T> Sync for Const<T>where + <T as Types>::Var: Sync,

§

impl<T> Unpin for Const<T>where + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Const<T>where + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fixpoint/constraint/struct.ConstName.html b/doc/flux_fixpoint/constraint/struct.ConstName.html deleted file mode 100644 index 1d7d7ec3a0..0000000000 --- a/doc/flux_fixpoint/constraint/struct.ConstName.html +++ /dev/null @@ -1,51 +0,0 @@ -ConstName in flux_fixpoint::constraint - Rust
pub struct ConstName {
-    private: u32,
-}

Fields§

§private: u32

Implementations§

source§

impl ConstName

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

-
Panics
-

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

-
Panics
-

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

-
Safety
-

The provided value must be less than or equal to the maximum value for the newtype. -Providing a value outside this range is undefined due to layout restrictions.

-

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for ConstName

§

type Output = ConstName

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for ConstName

source§

fn clone(&self) -> ConstName

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ConstName

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for ConstName

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for ConstName

source§

fn encode(&self, e: &mut E)

source§

impl From<ConstName> for Expr

source§

fn from(c_n: ConstName) -> Self

Converts to this type from the input type.
source§

impl From<ConstName> for u32

source§

fn from(v: ConstName) -> u32

Converts to this type from the input type.
source§

impl From<ConstName> for usize

source§

fn from(v: ConstName) -> usize

Converts to this type from the input type.
source§

impl From<u32> for ConstName

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for ConstName

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for ConstName

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where - H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for ConstName

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl Ord for ConstName

source§

fn cmp(&self, other: &ConstName) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for ConstName

source§

fn eq(&self, other: &ConstName) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ConstName

source§

fn partial_cmp(&self, other: &ConstName) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Step for ConstName

source§

fn steps_between(start: &Self, end: &Self) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: Self, u: usize) -> Option<Self>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

fn backward_checked(start: Self, u: usize) -> Option<Self>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

fn forward(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

unsafe fn forward_unchecked(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

fn backward(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

unsafe fn backward_unchecked(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

impl Copy for ConstName

source§

impl Eq for ConstName

source§

impl StructuralEq for ConstName

source§

impl StructuralPartialEq for ConstName

source§

impl TrustedStep for ConstName

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Comparable<K> for Qwhere - Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/struct.FmtParens.html b/doc/flux_fixpoint/constraint/struct.FmtParens.html index dbc83364d2..7d7c24927e 100644 --- a/doc/flux_fixpoint/constraint/struct.FmtParens.html +++ b/doc/flux_fixpoint/constraint/struct.FmtParens.html @@ -1,4 +1,8 @@ -FmtParens in flux_fixpoint::constraint - Rust
struct FmtParens<'a>(&'a Expr);

Tuple Fields§

§0: &'a Expr

Trait Implementations§

source§

impl Display for FmtParens<'_>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for FmtParens<'a>

§

impl<'a> Send for FmtParens<'a>

§

impl<'a> Sync for FmtParens<'a>

§

impl<'a> Unpin for FmtParens<'a>

§

impl<'a> UnwindSafe for FmtParens<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere +FmtParens in flux_fixpoint::constraint - Rust
struct FmtParens<'a, T: Types>(&'a Expr<T>);

Tuple Fields§

§0: &'a Expr<T>

Trait Implementations§

source§

impl<T: Types> Display for FmtParens<'_, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T> RefUnwindSafe for FmtParens<'a, T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<'a, T> Send for FmtParens<'a, T>where + <T as Types>::Var: Sync,

§

impl<'a, T> Sync for FmtParens<'a, T>where + <T as Types>::Var: Sync,

§

impl<'a, T> Unpin for FmtParens<'a, T>

§

impl<'a, T> UnwindSafe for FmtParens<'a, T>where + <T as Types>::Var: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fixpoint/constraint/struct.FuncSort.html b/doc/flux_fixpoint/constraint/struct.FuncSort.html index 32853b8a20..0aa2251d77 100644 --- a/doc/flux_fixpoint/constraint/struct.FuncSort.html +++ b/doc/flux_fixpoint/constraint/struct.FuncSort.html @@ -1,6 +1,6 @@ -FuncSort in flux_fixpoint::constraint - Rust
pub struct FuncSort {
+FuncSort in flux_fixpoint::constraint - Rust
pub struct FuncSort {
     inputs_and_output: Vec<Sort>,
-}

Fields§

§inputs_and_output: Vec<Sort>

Trait Implementations§

source§

impl Clone for FuncSort

source§

fn clone(&self) -> FuncSort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for FuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for FuncSort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Fields§

§inputs_and_output: Vec<Sort>

Trait Implementations§

source§

impl Clone for FuncSort

source§

fn clone(&self) -> FuncSort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for FuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for FuncSort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere @@ -14,4 +14,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/struct.KVid.html b/doc/flux_fixpoint/constraint/struct.KVid.html deleted file mode 100644 index 7205443935..0000000000 --- a/doc/flux_fixpoint/constraint/struct.KVid.html +++ /dev/null @@ -1,51 +0,0 @@ -KVid in flux_fixpoint::constraint - Rust
pub struct KVid {
-    private: u32,
-}

Fields§

§private: u32

Implementations§

source§

impl KVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

-
Panics
-

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

-
Panics
-

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

-
Safety
-

The provided value must be less than or equal to the maximum value for the newtype. -Providing a value outside this range is undefined due to layout restrictions.

-

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for KVid

§

type Output = KVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for KVid

source§

fn clone(&self) -> KVid

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for KVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for KVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for KVid

source§

fn encode(&self, e: &mut E)

source§

impl From<KVid> for u32

source§

fn from(v: KVid) -> u32

Converts to this type from the input type.
source§

impl From<KVid> for usize

source§

fn from(v: KVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for KVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for KVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for KVid

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where - H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for KVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl Ord for KVid

source§

fn cmp(&self, other: &KVid) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for KVid

source§

fn eq(&self, other: &KVid) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for KVid

source§

fn partial_cmp(&self, other: &KVid) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Step for KVid

source§

fn steps_between(start: &Self, end: &Self) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: Self, u: usize) -> Option<Self>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

fn backward_checked(start: Self, u: usize) -> Option<Self>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

fn forward(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

unsafe fn forward_unchecked(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

fn backward(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

unsafe fn backward_unchecked(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

impl Copy for KVid

source§

impl Eq for KVid

source§

impl StructuralEq for KVid

source§

impl StructuralPartialEq for KVid

source§

impl TrustedStep for KVid

Auto Trait Implementations§

§

impl RefUnwindSafe for KVid

§

impl Send for KVid

§

impl Sync for KVid

§

impl Unpin for KVid

§

impl UnwindSafe for KVid

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Comparable<K> for Qwhere - Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/struct.Name.html b/doc/flux_fixpoint/constraint/struct.Name.html deleted file mode 100644 index 958e0db68f..0000000000 --- a/doc/flux_fixpoint/constraint/struct.Name.html +++ /dev/null @@ -1,51 +0,0 @@ -Name in flux_fixpoint::constraint - Rust
pub struct Name {
-    private: u32,
-}

Fields§

§private: u32

Implementations§

source§

impl Name

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

-
Panics
-

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

-
Panics
-

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

-
Safety
-

The provided value must be less than or equal to the maximum value for the newtype. -Providing a value outside this range is undefined due to layout restrictions.

-

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for Name

§

type Output = Name

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for Name

source§

fn clone(&self) -> Name

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Name

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for Name

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for Name

source§

fn encode(&self, e: &mut E)

source§

impl From<Name> for Expr

source§

fn from(n: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for u32

source§

fn from(v: Name) -> u32

Converts to this type from the input type.
source§

impl From<Name> for usize

source§

fn from(v: Name) -> usize

Converts to this type from the input type.
source§

impl From<u32> for Name

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Name

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Name

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where - H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for Name

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl Ord for Name

source§

fn cmp(&self, other: &Name) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Name

source§

fn eq(&self, other: &Name) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Name

source§

fn partial_cmp(&self, other: &Name) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Step for Name

source§

fn steps_between(start: &Self, end: &Self) -> Option<usize>

🔬This is a nightly-only experimental API. (step_trait)
Returns the number of successor steps required to get from start to end. Read more
source§

fn forward_checked(start: Self, u: usize) -> Option<Self>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

fn backward_checked(start: Self, u: usize) -> Option<Self>

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

fn forward(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

unsafe fn forward_unchecked(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the successor -of self count times. Read more
source§

fn backward(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

unsafe fn backward_unchecked(start: Self, count: usize) -> Self

🔬This is a nightly-only experimental API. (step_trait)
Returns the value that would be obtained by taking the predecessor -of self count times. Read more
source§

impl Copy for Name

source§

impl Eq for Name

source§

impl StructuralEq for Name

source§

impl StructuralPartialEq for Name

source§

impl TrustedStep for Name

Auto Trait Implementations§

§

impl RefUnwindSafe for Name

§

impl Send for Name

§

impl Sync for Name

§

impl Unpin for Name

§

impl UnwindSafe for Name

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Comparable<K> for Qwhere - Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/struct.PolyFuncSort.html b/doc/flux_fixpoint/constraint/struct.PolyFuncSort.html index 856603055e..f4dd9d61e0 100644 --- a/doc/flux_fixpoint/constraint/struct.PolyFuncSort.html +++ b/doc/flux_fixpoint/constraint/struct.PolyFuncSort.html @@ -1,11 +1,11 @@ -PolyFuncSort in flux_fixpoint::constraint - Rust
pub struct PolyFuncSort {
+PolyFuncSort in flux_fixpoint::constraint - Rust
pub struct PolyFuncSort {
     params: usize,
     fsort: FuncSort,
-}

Fields§

§params: usize§fsort: FuncSort

Implementations§

Fields§

§params: usize§fsort: FuncSort

Implementations§

source§

impl PolyFuncSort

source

pub fn new( params: usize, inputs: impl IntoIterator<Item = Sort>, output: Sort -) -> PolyFuncSort

Trait Implementations§

source§

impl Clone for PolyFuncSort

source§

fn clone(&self) -> PolyFuncSort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for PolyFuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for PolyFuncSort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> PolyFuncSort

Trait Implementations§

source§

impl Clone for PolyFuncSort

source§

fn clone(&self) -> PolyFuncSort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for PolyFuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for PolyFuncSort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere @@ -19,4 +19,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/constraint/struct.PredTag.html b/doc/flux_fixpoint/constraint/struct.PredTag.html index 741e364e12..763c713775 100644 --- a/doc/flux_fixpoint/constraint/struct.PredTag.html +++ b/doc/flux_fixpoint/constraint/struct.PredTag.html @@ -1,9 +1,16 @@ -PredTag in flux_fixpoint::constraint - Rust
struct PredTag<'a, Tag>(&'a Pred, &'a Option<Tag>);

Tuple Fields§

§0: &'a Pred§1: &'a Option<Tag>

Trait Implementations§

source§

impl<Tag> Display for PredTag<'_, Tag>where - Tag: Display,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, Tag> RefUnwindSafe for PredTag<'a, Tag>where - Tag: RefUnwindSafe,

§

impl<'a, Tag> Send for PredTag<'a, Tag>where - Tag: Sync,

§

impl<'a, Tag> Sync for PredTag<'a, Tag>where - Tag: Sync,

§

impl<'a, Tag> Unpin for PredTag<'a, Tag>

§

impl<'a, Tag> UnwindSafe for PredTag<'a, Tag>where - Tag: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere +PredTag in flux_fixpoint::constraint - Rust
struct PredTag<'a, T: Types>(&'a Pred<T>, &'a Option<T::Tag>);

Tuple Fields§

§0: &'a Pred<T>§1: &'a Option<T::Tag>

Trait Implementations§

source§

impl<T: Types> Display for PredTag<'_, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T> RefUnwindSafe for PredTag<'a, T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Tag: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

§

impl<'a, T> Send for PredTag<'a, T>where + <T as Types>::KVar: Sync, + <T as Types>::Tag: Sync, + <T as Types>::Var: Sync,

§

impl<'a, T> Sync for PredTag<'a, T>where + <T as Types>::KVar: Sync, + <T as Types>::Tag: Sync, + <T as Types>::Var: Sync,

§

impl<'a, T> Unpin for PredTag<'a, T>

§

impl<'a, T> UnwindSafe for PredTag<'a, T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Tag: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fixpoint/constraint/struct.Qualifier.html b/doc/flux_fixpoint/constraint/struct.Qualifier.html index a7168ede87..0b9a8b3b04 100644 --- a/doc/flux_fixpoint/constraint/struct.Qualifier.html +++ b/doc/flux_fixpoint/constraint/struct.Qualifier.html @@ -1,11 +1,16 @@ -Qualifier in flux_fixpoint::constraint - Rust
pub struct Qualifier {
+Qualifier in flux_fixpoint::constraint - Rust
pub struct Qualifier<T: Types> {
     pub name: String,
-    pub args: Vec<(Name, Sort)>,
-    pub body: Expr,
+    pub args: Vec<(T::Var, Sort)>,
+    pub body: Expr<T>,
     pub global: bool,
-}

Fields§

§name: String§args: Vec<(Name, Sort)>§body: Expr§global: bool

Trait Implementations§

source§

impl Display for Qualifier

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Qualifier

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Fields§

§name: String§args: Vec<(T::Var, Sort)>§body: Expr<T>§global: bool

Trait Implementations§

source§

impl<T: Types> Display for Qualifier<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Qualifier<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Qualifier<T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Qualifier<T>where + <T as Types>::Var: Send,

§

impl<T> Sync for Qualifier<T>where + <T as Types>::Var: Sync,

§

impl<T> Unpin for Qualifier<T>where + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Qualifier<T>where + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -16,4 +21,5 @@
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.BinOp.html b/doc/flux_fixpoint/enum.BinOp.html index e01384463b..d6b96f7582 100644 --- a/doc/flux_fixpoint/enum.BinOp.html +++ b/doc/flux_fixpoint/enum.BinOp.html @@ -1,4 +1,4 @@ -BinOp in flux_fixpoint - Rust

Enum flux_fixpoint::BinOp

source ·
pub enum BinOp {
+BinOp in flux_fixpoint - Rust

Enum flux_fixpoint::BinOp

source ·
pub enum BinOp {
 
Show 15 variants Iff, Imp, Or, @@ -14,11 +14,11 @@ Mul, Div, Mod, -
}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt

§

Ge

§

Lt

§

Le

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt

§

Ge

§

Lt

§

Le

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for BinOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for BinOp

source§

fn eq(&self, other: &BinOp) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for BinOp

source§

fn eq(&self, other: &BinOp) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for BinOp

source§

impl Eq for BinOp

source§

impl StructuralEq for BinOp

source§

impl StructuralPartialEq for BinOp

Auto Trait Implementations§

§

impl RefUnwindSafe for BinOp

§

impl Send for BinOp

§

impl Sync for BinOp

§

impl Unpin for BinOp

§

impl UnwindSafe for BinOp

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Copy for BinOp

source§

impl Eq for BinOp

source§

impl StructuralEq for BinOp

source§

impl StructuralPartialEq for BinOp

Auto Trait Implementations§

§

impl RefUnwindSafe for BinOp

§

impl Send for BinOp

§

impl Sync for BinOp

§

impl Unpin for BinOp

§

impl UnwindSafe for BinOp

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere @@ -34,4 +34,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.Constant.html b/doc/flux_fixpoint/enum.Constant.html index ebf0652291..18dd6d60ff 100644 --- a/doc/flux_fixpoint/enum.Constant.html +++ b/doc/flux_fixpoint/enum.Constant.html @@ -1,15 +1,15 @@ -Constant in flux_fixpoint - Rust
pub enum Constant {
+Constant in flux_fixpoint - Rust
pub enum Constant {
     Int(BigInt),
     Real(i128),
     Bool(bool),
-}

Variants§

§

Int(BigInt)

§

Real(i128)

§

Bool(bool)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Int(BigInt)

§

Real(i128)

§

Bool(bool)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Constant

source§

fn eq(&self, other: &Constant) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Constant

source§

fn eq(&self, other: &Constant) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralEq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralEq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere @@ -25,4 +25,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.Constraint.html b/doc/flux_fixpoint/enum.Constraint.html index 8dd2631e68..ad250d8a44 100644 --- a/doc/flux_fixpoint/enum.Constraint.html +++ b/doc/flux_fixpoint/enum.Constraint.html @@ -1,19 +1,28 @@ -Constraint in flux_fixpoint - Rust
pub enum Constraint<Tag> {
-    Pred(Pred, Option<Tag>),
+Constraint in flux_fixpoint - Rust
pub enum Constraint<T: Types> {
+    Pred(Pred<T>, Option<T::Tag>),
     Conj(Vec<Self>),
-    Guard(Pred, Box<Self>),
-    ForAll(Name, Sort, Pred, Box<Self>),
-}

Variants§

§

Pred(Pred, Option<Tag>)

§

Conj(Vec<Self>)

§

Guard(Pred, Box<Self>)

§

ForAll(Name, Sort, Pred, Box<Self>)

Implementations§

source§

impl<Tag> Constraint<Tag>

source

pub const TRUE: Self = _

source

pub fn is_concrete(&self) -> bool

Returns true if the constraint has at least one concrete RHS (“head”) predicates. + Guard(Pred<T>, Box<Self>), + ForAll(T::Var, Sort, Pred<T>, Box<Self>), +}

Variants§

§

Pred(Pred<T>, Option<T::Tag>)

§

Conj(Vec<Self>)

§

Guard(Pred<T>, Box<Self>)

§

ForAll(T::Var, Sort, Pred<T>, Box<Self>)

Implementations§

source§

impl<T: Types> Constraint<T>

source

pub const TRUE: Self = _

source

pub fn is_concrete(&self) -> bool

Returns true if the constraint has at least one concrete RHS (“head”) predicates. If !c.is_concrete then c is trivially satisfiable and we can avoid calling fixpoint.

-

Trait Implementations§

source§

impl<Tag> Display for Constraint<Tag>where - Tag: Display,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Tag> Hash for Constraint<Tag>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl<T: Types> Display for Constraint<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Constraint<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<Tag> RefUnwindSafe for Constraint<Tag>where - Tag: RefUnwindSafe,

§

impl<Tag> Send for Constraint<Tag>where - Tag: Send,

§

impl<Tag> Sync for Constraint<Tag>where - Tag: Sync,

§

impl<Tag> Unpin for Constraint<Tag>where - Tag: Unpin,

§

impl<Tag> UnwindSafe for Constraint<Tag>where - Tag: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Constraint<T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Tag: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Constraint<T>where + <T as Types>::KVar: Send, + <T as Types>::Tag: Send, + <T as Types>::Var: Send,

§

impl<T> Sync for Constraint<T>where + <T as Types>::KVar: Sync, + <T as Types>::Tag: Sync, + <T as Types>::Var: Sync,

§

impl<T> Unpin for Constraint<T>where + <T as Types>::KVar: Unpin, + <T as Types>::Tag: Unpin, + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Constraint<T>where + <T as Types>::KVar: UnwindSafe, + <T as Types>::Tag: UnwindSafe, + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -24,4 +33,5 @@
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.Expr.html b/doc/flux_fixpoint/enum.Expr.html index c909b26a9f..04cb8bf37b 100644 --- a/doc/flux_fixpoint/enum.Expr.html +++ b/doc/flux_fixpoint/enum.Expr.html @@ -1,20 +1,24 @@ -Expr in flux_fixpoint - Rust

Enum flux_fixpoint::Expr

source ·
pub enum Expr {
-    Var(Name),
-    ConstVar(ConstName),
+Expr in flux_fixpoint - Rust

Enum flux_fixpoint::Expr

source ·
pub enum Expr<T: Types> {
+    Var(T::Var),
     Constant(Constant),
-    BinaryOp(BinOp, Box<[Expr; 2]>),
-    App(Func, Vec<Expr>),
+    BinaryOp(BinOp, Box<[Self; 2]>),
+    App(Func<T>, Vec<Self>),
     UnaryOp(UnOp, Box<Self>),
-    Pair(Box<[Expr; 2]>),
-    Proj(Box<Expr>, Proj),
-    IfThenElse(Box<[Expr; 3]>),
+    Pair(Box<[Self; 2]>),
+    Proj(Box<Self>, Proj),
+    IfThenElse(Box<[Self; 3]>),
     Unit,
-}

Variants§

§

Var(Name)

§

ConstVar(ConstName)

§

Constant(Constant)

§

BinaryOp(BinOp, Box<[Expr; 2]>)

§

App(Func, Vec<Expr>)

§

UnaryOp(UnOp, Box<Self>)

§

Pair(Box<[Expr; 2]>)

§

Proj(Box<Expr>, Proj)

§

IfThenElse(Box<[Expr; 3]>)

§

Unit

Implementations§

source§

impl Expr

source

pub const ZERO: Expr = _

source

pub const ONE: Expr = _

source

pub fn eq(self, other: Expr) -> Expr

Trait Implementations§

source§

impl Debug for Expr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Expr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ConstName> for Expr

source§

fn from(c_n: ConstName) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Expr

source§

fn from(n: Name) -> Self

Converts to this type from the input type.
source§

impl Hash for Expr

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Var(T::Var)

§

Constant(Constant)

§

BinaryOp(BinOp, Box<[Self; 2]>)

§

App(Func<T>, Vec<Self>)

§

UnaryOp(UnOp, Box<Self>)

§

Pair(Box<[Self; 2]>)

§

Proj(Box<Self>, Proj)

§

IfThenElse(Box<[Self; 3]>)

§

Unit

Implementations§

source§

impl<T: Types> Expr<T>

source

pub const ZERO: Expr<T> = _

source

pub const ONE: Expr<T> = _

source

pub fn eq(self, other: Self) -> Self

Trait Implementations§

source§

impl<T: Types> Display for Expr<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Expr<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Expr

§

impl Send for Expr

§

impl Sync for Expr

§

impl Unpin for Expr

§

impl UnwindSafe for Expr

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Expr<T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Expr<T>where + <T as Types>::Var: Send,

§

impl<T> Sync for Expr<T>where + <T as Types>::Var: Sync,

§

impl<T> Unpin for Expr<T>where + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Expr<T>where + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: ?Sized,
source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of @@ -22,4 +26,5 @@

source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.FixpointResult.html b/doc/flux_fixpoint/enum.FixpointResult.html index a9754224aa..67da4daefb 100644 --- a/doc/flux_fixpoint/enum.FixpointResult.html +++ b/doc/flux_fixpoint/enum.FixpointResult.html @@ -1,9 +1,9 @@ -FixpointResult in flux_fixpoint - Rust
pub enum FixpointResult<Tag> {
+FixpointResult in flux_fixpoint - Rust
pub enum FixpointResult<Tag> {
     Safe(Stats),
     Unsafe(Stats, Vec<Error<Tag>>),
     Crash(CrashInfo),
-}

Variants§

§

Safe(Stats)

§

Unsafe(Stats, Vec<Error<Tag>>)

§

Crash(CrashInfo)

Trait Implementations§

source§

impl<Tag: Debug> Debug for FixpointResult<Tag>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Tag> Deserialize<'de> for FixpointResult<Tag>where - Tag: FromStr,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +}

Variants§

§

Safe(Stats)

§

Unsafe(Stats, Vec<Error<Tag>>)

§

Crash(CrashInfo)

Trait Implementations§

source§

impl<Tag: Debug> Debug for FixpointResult<Tag>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Tag> Deserialize<'de> for FixpointResult<Tag>where + Tag: FromStr,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

§

impl<Tag> RefUnwindSafe for FixpointResult<Tag>where Tag: RefUnwindSafe,

§

impl<Tag> Send for FixpointResult<Tag>where Tag: Send,

§

impl<Tag> Sync for FixpointResult<Tag>where diff --git a/doc/flux_fixpoint/enum.Func.html b/doc/flux_fixpoint/enum.Func.html index f4a6a365f6..0ac0923208 100644 --- a/doc/flux_fixpoint/enum.Func.html +++ b/doc/flux_fixpoint/enum.Func.html @@ -1,12 +1,15 @@ -Func in flux_fixpoint - Rust

Enum flux_fixpoint::Func

source ·
pub enum Func {
-    Var(Name),
-    Uif(ConstName),
+Func in flux_fixpoint - Rust

Enum flux_fixpoint::Func

source ·
pub enum Func<T: Types> {
+    Var(T::Var),
     Itf(Symbol),
-}

Variants§

§

Var(Name)

§

Uif(ConstName)

uninterepreted function

-
§

Itf(Symbol)

interpreted (theory) function

-

Trait Implementations§

source§

impl Clone for Func

source§

fn clone(&self) -> Func

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Func

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Func

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Func

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Var(T::Var)

§

Itf(Symbol)

interpreted (theory) function

+

Trait Implementations§

source§

impl<T: Types> Display for Func<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Func<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Func

§

impl Send for Func

§

impl Sync for Func

§

impl Unpin for Func

§

impl UnwindSafe for Func

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Func<T>where + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Func<T>where + <T as Types>::Var: Send,

§

impl<T> Sync for Func<T>where + <T as Types>::Var: Sync,

§

impl<T> Unpin for Func<T>where + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Func<T>where + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -14,8 +17,8 @@ U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere +

source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.Pred.html b/doc/flux_fixpoint/enum.Pred.html index f67e4855bd..15d9ef7957 100644 --- a/doc/flux_fixpoint/enum.Pred.html +++ b/doc/flux_fixpoint/enum.Pred.html @@ -1,10 +1,20 @@ -Pred in flux_fixpoint - Rust

Enum flux_fixpoint::Pred

source ·
pub enum Pred {
+Pred in flux_fixpoint - Rust

Enum flux_fixpoint::Pred

source ·
pub enum Pred<T: Types> {
     And(Vec<Self>),
-    KVar(KVid, Vec<Name>),
-    Expr(Expr),
-}

Variants§

§

And(Vec<Self>)

§

KVar(KVid, Vec<Name>)

§

Expr(Expr)

Implementations§

source§

impl Pred

source

pub const TRUE: Self = _

source

pub fn is_trivially_true(&self) -> bool

source

pub fn is_concrete(&self) -> bool

Trait Implementations§

source§

impl Debug for Pred

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Pred

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Pred

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where + KVar(T::KVar, Vec<T::Var>), + Expr(Expr<T>), +}

Variants§

§

And(Vec<Self>)

§

KVar(T::KVar, Vec<T::Var>)

§

Expr(Expr<T>)

Implementations§

source§

impl<T: Types> Pred<T>

source

pub const TRUE: Self = _

source

pub fn is_trivially_true(&self) -> bool

source

pub fn is_concrete(&self) -> bool

Trait Implementations§

source§

impl<T: Types> Display for Pred<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Types> Hash for Pred<T>

source§

fn hash<__H: Hasher>(&self, __state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Pred

§

impl Send for Pred

§

impl Sync for Pred

§

impl Unpin for Pred

§

impl UnwindSafe for Pred

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Pred<T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

§

impl<T> Send for Pred<T>where + <T as Types>::KVar: Send, + <T as Types>::Var: Send,

§

impl<T> Sync for Pred<T>where + <T as Types>::KVar: Sync, + <T as Types>::Var: Sync,

§

impl<T> Unpin for Pred<T>where + <T as Types>::KVar: Unpin, + <T as Types>::Var: Unpin,

§

impl<T> UnwindSafe for Pred<T>where + <T as Types>::KVar: UnwindSafe, + <T as Types>::Var: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -15,4 +25,5 @@
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.Proj.html b/doc/flux_fixpoint/enum.Proj.html index 9a866e9c6a..26026ed5c8 100644 --- a/doc/flux_fixpoint/enum.Proj.html +++ b/doc/flux_fixpoint/enum.Proj.html @@ -1,9 +1,9 @@ -Proj in flux_fixpoint - Rust

Enum flux_fixpoint::Proj

source ·
pub enum Proj {
+Proj in flux_fixpoint - Rust

Enum flux_fixpoint::Proj

source ·
pub enum Proj {
     Fst,
     Snd,
-}

Variants§

§

Fst

§

Snd

Trait Implementations§

source§

impl Clone for Proj

source§

fn clone(&self) -> Proj

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Proj

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Proj

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Fst

§

Snd

Trait Implementations§

source§

impl Clone for Proj

source§

fn clone(&self) -> Proj

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Hash for Proj

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Copy for Proj

Auto Trait Implementations§

§

impl RefUnwindSafe for Proj

§

impl Send for Proj

§

impl Sync for Proj

§

impl Unpin for Proj

§

impl UnwindSafe for Proj

Blanket Implementations§

source§

impl<T> Any for Twhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Copy for Proj

Auto Trait Implementations§

§

impl RefUnwindSafe for Proj

§

impl Send for Proj

§

impl Sync for Proj

§

impl Unpin for Proj

§

impl UnwindSafe for Proj

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fixpoint/enum.Sort.html b/doc/flux_fixpoint/enum.Sort.html index 0d7bda6aca..27d80f99b7 100644 --- a/doc/flux_fixpoint/enum.Sort.html +++ b/doc/flux_fixpoint/enum.Sort.html @@ -1,4 +1,4 @@ -Sort in flux_fixpoint - Rust

Enum flux_fixpoint::Sort

source ·
pub enum Sort {
+Sort in flux_fixpoint - Rust

Enum flux_fixpoint::Sort

source ·
pub enum Sort {
     Int,
     Bool,
     Real,
@@ -7,7 +7,7 @@
     Pair(Box<Sort>, Box<Sort>),
     Func(PolyFuncSort),
     App(SortCtor, Vec<Sort>),
-}

Variants§

§

Int

§

Bool

§

Real

§

Unit

§

BitVec(usize)

§

Pair(Box<Sort>, Box<Sort>)

§

Func(PolyFuncSort)

§

App(SortCtor, Vec<Sort>)

Trait Implementations§

source§

impl Clone for Sort

source§

fn clone(&self) -> Sort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Sort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Sort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Sort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Int

§

Bool

§

Real

§

Unit

§

BitVec(usize)

§

Pair(Box<Sort>, Box<Sort>)

§

Func(PolyFuncSort)

§

App(SortCtor, Vec<Sort>)

Trait Implementations§

source§

impl Clone for Sort

source§

fn clone(&self) -> Sort

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for Sort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Sort

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Sort

§

impl Send for Sort

§

impl Sync for Sort

§

impl Unpin for Sort

§

impl UnwindSafe for Sort

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere @@ -21,4 +21,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.SortCtor.html b/doc/flux_fixpoint/enum.SortCtor.html index f2c56abc54..083ea43c98 100644 --- a/doc/flux_fixpoint/enum.SortCtor.html +++ b/doc/flux_fixpoint/enum.SortCtor.html @@ -1,7 +1,7 @@ -SortCtor in flux_fixpoint - Rust
pub enum SortCtor {
+SortCtor in flux_fixpoint - Rust
pub enum SortCtor {
     Set,
     Map,
-}

Variants§

§

Set

§

Map

Trait Implementations§

source§

impl Clone for SortCtor

source§

fn clone(&self) -> SortCtor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for SortCtor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for SortCtor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Set

§

Map

Trait Implementations§

source§

impl Clone for SortCtor

source§

fn clone(&self) -> SortCtor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Display for SortCtor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for SortCtor

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere @@ -15,4 +15,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/enum.UnOp.html b/doc/flux_fixpoint/enum.UnOp.html index f5421aa5b4..6cb479a747 100644 --- a/doc/flux_fixpoint/enum.UnOp.html +++ b/doc/flux_fixpoint/enum.UnOp.html @@ -1,11 +1,11 @@ -UnOp in flux_fixpoint - Rust

Enum flux_fixpoint::UnOp

source ·
pub enum UnOp {
+UnOp in flux_fixpoint - Rust

Enum flux_fixpoint::UnOp

source ·
pub enum UnOp {
     Not,
     Neg,
-}

Variants§

§

Not

§

Neg

Trait Implementations§

source§

impl Clone for UnOp

source§

fn clone(&self) -> UnOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for UnOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for UnOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for UnOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Not

§

Neg

Trait Implementations§

source§

impl Clone for UnOp

source§

fn clone(&self) -> UnOp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: Decoder> Decodable<__D> for UnOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Display for UnOp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__E: Encoder> Encodable<__E> for UnOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for UnOp

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for UnOp

source§

fn eq(&self, other: &UnOp) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for UnOp

source§

fn eq(&self, other: &UnOp) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralEq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl RefUnwindSafe for UnOp

§

impl Send for UnOp

§

impl Sync for UnOp

§

impl Unpin for UnOp

§

impl UnwindSafe for UnOp

Blanket Implementations§

source§

impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralEq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl RefUnwindSafe for UnOp

§

impl Send for UnOp

§

impl Sync for UnOp

§

impl Unpin for UnOp

§

impl UnwindSafe for UnOp

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere @@ -21,4 +21,5 @@ T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: TryFrom<T>,
§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Symbol for Twhere + T: Display + Hash,

\ No newline at end of file diff --git a/doc/flux_fixpoint/index.html b/doc/flux_fixpoint/index.html index 787de5b9b1..46a70c67c9 100644 --- a/doc/flux_fixpoint/index.html +++ b/doc/flux_fixpoint/index.html @@ -1,2 +1,2 @@ flux_fixpoint - Rust
\ No newline at end of file +
  • All Items
  • \ No newline at end of file diff --git a/doc/flux_fixpoint/macro.declare_types!.html b/doc/flux_fixpoint/macro.declare_types!.html new file mode 100644 index 0000000000..ceea850a8e --- /dev/null +++ b/doc/flux_fixpoint/macro.declare_types!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to macro.declare_types.html...

    + + + \ No newline at end of file diff --git a/doc/flux_fixpoint/macro.declare_types.html b/doc/flux_fixpoint/macro.declare_types.html new file mode 100644 index 0000000000..1107aa07b3 --- /dev/null +++ b/doc/flux_fixpoint/macro.declare_types.html @@ -0,0 +1,3 @@ +declare_types in flux_fixpoint - Rust
    macro_rules! declare_types {
    +    (type KVar = $kvar:ty; type Var = $var:ty; type Tag = $tag:ty;) => { ... };
    +}
    \ No newline at end of file diff --git a/doc/flux_fixpoint/sidebar-items.js b/doc/flux_fixpoint/sidebar-items.js index 7f63040aa6..bcdb55e9a7 100644 --- a/doc/flux_fixpoint/sidebar-items.js +++ b/doc/flux_fixpoint/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["BinOp","Constant","Constraint","Expr","FixpointResult","Func","Pred","Proj","Sort","SortCtor","UnOp"],"mod":["big_int","constraint"],"struct":["Const","ConstInfo","ConstName","CrashInfo","Error","FuncSort","KVar","KVid","Name","PolyFuncSort","Qualifier","Stats","Task"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["BinOp","Constant","Constraint","Expr","FixpointResult","Func","Pred","Proj","Sort","SortCtor","UnOp"],"macro":["declare_types"],"mod":["big_int","constraint"],"struct":["Const","ConstInfo","CrashInfo","Error","FuncSort","KVar","PolyFuncSort","Qualifier","Stats","StringTypes","Task"],"trait":["Symbol","Types"]}; \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.Const.html b/doc/flux_fixpoint/struct.Const.html index 3155b1e0d6..91f07b953c 100644 --- a/doc/flux_fixpoint/struct.Const.html +++ b/doc/flux_fixpoint/struct.Const.html @@ -1,7 +1,14 @@ -Const in flux_fixpoint - Rust

    Struct flux_fixpoint::Const

    source ·
    pub struct Const {
    -    pub name: ConstName,
    +Const in flux_fixpoint - Rust

    Struct flux_fixpoint::Const

    source ·
    pub struct Const<T: Types> {
    +    pub name: T::Var,
         pub val: i128,
    -}

    Fields§

    §name: ConstName§val: i128

    Trait Implementations§

    source§

    impl Clone for Const

    source§

    fn clone(&self) -> Const

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Const

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Copy for Const

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Const

    §

    impl Send for Const

    §

    impl Sync for Const

    §

    impl Unpin for Const

    §

    impl UnwindSafe for Const

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §name: T::Var§val: i128

    Trait Implementations§

    source§

    impl<T: Clone + Types> Clone for Const<T>where + T::Var: Clone,

    source§

    fn clone(&self) -> Const<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Copy + Types> Copy for Const<T>where + T::Var: Copy,

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Const<T>where + <T as Types>::Var: RefUnwindSafe,

    §

    impl<T> Send for Const<T>where + <T as Types>::Var: Send,

    §

    impl<T> Sync for Const<T>where + <T as Types>::Var: Sync,

    §

    impl<T> Unpin for Const<T>where + <T as Types>::Var: Unpin,

    §

    impl<T> UnwindSafe for Const<T>where + <T as Types>::Var: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_fixpoint/struct.ConstInfo.html b/doc/flux_fixpoint/struct.ConstInfo.html index 44792cdcee..5b40b4850e 100644 --- a/doc/flux_fixpoint/struct.ConstInfo.html +++ b/doc/flux_fixpoint/struct.ConstInfo.html @@ -1,10 +1,15 @@ -ConstInfo in flux_fixpoint - Rust
    pub struct ConstInfo {
    -    pub name: ConstName,
    +ConstInfo in flux_fixpoint - Rust
    pub struct ConstInfo<T: Types> {
    +    pub name: T::Var,
         pub orig: Symbol,
         pub sort: Sort,
    -}

    Fields§

    §name: ConstName§orig: Symbol§sort: Sort

    Trait Implementations§

    source§

    impl Clone for ConstInfo

    source§

    fn clone(&self) -> ConstInfo

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ConstInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ConstInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ConstInfo

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §name: T::Var§orig: Symbol§sort: Sort

    Trait Implementations§

    source§

    impl<T: Types> Display for ConstInfo<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Types> Hash for ConstInfo<T>

    source§

    fn hash<__H: Hasher>(&self, __state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for ConstInfo<T>where + <T as Types>::Var: RefUnwindSafe,

    §

    impl<T> Send for ConstInfo<T>where + <T as Types>::Var: Send,

    §

    impl<T> Sync for ConstInfo<T>where + <T as Types>::Var: Sync,

    §

    impl<T> Unpin for ConstInfo<T>where + <T as Types>::Var: Unpin,

    §

    impl<T> UnwindSafe for ConstInfo<T>where + <T as Types>::Var: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -12,8 +17,8 @@ U: From<T>,
    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere +

    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.ConstName.html b/doc/flux_fixpoint/struct.ConstName.html deleted file mode 100644 index 641061b723..0000000000 --- a/doc/flux_fixpoint/struct.ConstName.html +++ /dev/null @@ -1,51 +0,0 @@ -ConstName in flux_fixpoint - Rust
    pub struct ConstName {
    -    private: u32,
    -}

    Fields§

    §private: u32

    Implementations§

    source§

    impl ConstName

    source

    pub const MAX_AS_U32: u32 = 4_294_967_040u32

    Maximum value the index can take, as a u32.

    -
    source

    pub const MAX: Self = _

    Maximum value the index can take.

    -
    source

    pub const fn from_usize(value: usize) -> Self

    Creates a new index from a given usize.

    -
    Panics
    -

    Will panic if value exceeds MAX.

    -
    source

    pub const fn from_u32(value: u32) -> Self

    Creates a new index from a given u32.

    -
    Panics
    -

    Will panic if value exceeds MAX.

    -
    source

    pub const unsafe fn from_u32_unchecked(value: u32) -> Self

    Creates a new index from a given u32.

    -
    Safety
    -

    The provided value must be less than or equal to the maximum value for the newtype. -Providing a value outside this range is undefined due to layout restrictions.

    -

    Prefer using from_u32.

    -
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    -
    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    -
    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for ConstName

    §

    type Output = ConstName

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for ConstName

    source§

    fn clone(&self) -> ConstName

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ConstName

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for ConstName

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for ConstName

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<ConstName> for Expr

    source§

    fn from(c_n: ConstName) -> Self

    Converts to this type from the input type.
    source§

    impl From<ConstName> for u32

    source§

    fn from(v: ConstName) -> u32

    Converts to this type from the input type.
    source§

    impl From<ConstName> for usize

    source§

    fn from(v: ConstName) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for ConstName

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for ConstName

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for ConstName

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where - H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for ConstName

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for ConstName

    source§

    fn cmp(&self, other: &ConstName) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere - Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere - Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for ConstName

    source§

    fn eq(&self, other: &ConstName) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for ConstName

    source§

    fn partial_cmp(&self, other: &ConstName) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Step for ConstName

    source§

    fn steps_between(start: &Self, end: &Self) -> Option<usize>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the number of successor steps required to get from start to end. Read more
    source§

    fn forward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    fn backward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    fn forward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    unsafe fn forward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    fn backward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    unsafe fn backward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    impl Copy for ConstName

    source§

    impl Eq for ConstName

    source§

    impl StructuralEq for ConstName

    source§

    impl StructuralPartialEq for ConstName

    source§

    impl TrustedStep for ConstName

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere - Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.CrashInfo.html b/doc/flux_fixpoint/struct.CrashInfo.html index 6e3128ee28..cf5b548519 100644 --- a/doc/flux_fixpoint/struct.CrashInfo.html +++ b/doc/flux_fixpoint/struct.CrashInfo.html @@ -1,4 +1,4 @@ -CrashInfo in flux_fixpoint - Rust
    pub struct CrashInfo(pub(crate) Vec<Value>);

    Tuple Fields§

    §0: Vec<Value>

    Trait Implementations§

    source§

    impl Debug for CrashInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for CrashInfo

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +CrashInfo in flux_fixpoint - Rust
    pub struct CrashInfo(pub(crate) Vec<Value>);

    Tuple Fields§

    §0: Vec<Value>

    Trait Implementations§

    source§

    impl Debug for CrashInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for CrashInfo

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_fixpoint/struct.Error.html b/doc/flux_fixpoint/struct.Error.html index a75330b4ab..6bcc0471f7 100644 --- a/doc/flux_fixpoint/struct.Error.html +++ b/doc/flux_fixpoint/struct.Error.html @@ -1,7 +1,7 @@ -Error in flux_fixpoint - Rust

    Struct flux_fixpoint::Error

    source ·
    pub struct Error<Tag> {
    +Error in flux_fixpoint - Rust

    Struct flux_fixpoint::Error

    source ·
    pub struct Error<Tag> {
         pub id: i32,
         pub tag: Tag,
    -}

    Fields§

    §id: i32§tag: Tag

    Trait Implementations§

    source§

    impl<Tag: Debug> Debug for Error<Tag>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Tag: FromStr> Deserialize<'de> for Error<Tag>

    source§

    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where +}

    Fields§

    §id: i32§tag: Tag

    Trait Implementations§

    source§

    impl<Tag: Debug> Debug for Error<Tag>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Tag: FromStr> Deserialize<'de> for Error<Tag>

    source§

    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl<Tag> RefUnwindSafe for Error<Tag>where Tag: RefUnwindSafe,

    §

    impl<Tag> Send for Error<Tag>where Tag: Send,

    §

    impl<Tag> Sync for Error<Tag>where diff --git a/doc/flux_fixpoint/struct.FuncSort.html b/doc/flux_fixpoint/struct.FuncSort.html index 00ba82fa74..1a2a8d2087 100644 --- a/doc/flux_fixpoint/struct.FuncSort.html +++ b/doc/flux_fixpoint/struct.FuncSort.html @@ -1,6 +1,6 @@ -FuncSort in flux_fixpoint - Rust

    Struct flux_fixpoint::FuncSort

    source ·
    pub struct FuncSort {
    +FuncSort in flux_fixpoint - Rust

    Struct flux_fixpoint::FuncSort

    source ·
    pub struct FuncSort {
         inputs_and_output: Vec<Sort>,
    -}

    Fields§

    §inputs_and_output: Vec<Sort>

    Trait Implementations§

    source§

    impl Clone for FuncSort

    source§

    fn clone(&self) -> FuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Display for FuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for FuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §inputs_and_output: Vec<Sort>

    Trait Implementations§

    source§

    impl Clone for FuncSort

    source§

    fn clone(&self) -> FuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Display for FuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for FuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere @@ -14,4 +14,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.KVar.html b/doc/flux_fixpoint/struct.KVar.html index 7903f3f95d..9912bfca66 100644 --- a/doc/flux_fixpoint/struct.KVar.html +++ b/doc/flux_fixpoint/struct.KVar.html @@ -1,10 +1,15 @@ -KVar in flux_fixpoint - Rust

    Struct flux_fixpoint::KVar

    source ·
    pub struct KVar {
    -    pub(crate) kvid: KVid,
    +KVar in flux_fixpoint - Rust

    Struct flux_fixpoint::KVar

    source ·
    pub struct KVar<T: Types> {
    +    pub(crate) kvid: T::KVar,
         pub(crate) sorts: Vec<Sort>,
         pub(crate) comment: String,
    -}

    Fields§

    §kvid: KVid§sorts: Vec<Sort>§comment: String

    Implementations§

    source§

    impl KVar

    source

    pub fn new(kvid: KVid, sorts: Vec<Sort>, comment: String) -> Self

    Trait Implementations§

    source§

    impl Debug for KVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for KVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for KVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §kvid: T::KVar§sorts: Vec<Sort>§comment: String

    Implementations§

    source§

    impl<T: Types> KVar<T>

    source

    pub fn new(kvid: T::KVar, sorts: Vec<Sort>, comment: String) -> Self

    Trait Implementations§

    source§

    impl<T: Types> Display for KVar<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Types> Hash for KVar<T>

    source§

    fn hash<__H: Hasher>(&self, __state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVar

    §

    impl Send for KVar

    §

    impl Sync for KVar

    §

    impl Unpin for KVar

    §

    impl UnwindSafe for KVar

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for KVar<T>where + <T as Types>::KVar: RefUnwindSafe,

    §

    impl<T> Send for KVar<T>where + <T as Types>::KVar: Send,

    §

    impl<T> Sync for KVar<T>where + <T as Types>::KVar: Sync,

    §

    impl<T> Unpin for KVar<T>where + <T as Types>::KVar: Unpin,

    §

    impl<T> UnwindSafe for KVar<T>where + <T as Types>::KVar: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -15,4 +20,5 @@
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.KVid.html b/doc/flux_fixpoint/struct.KVid.html deleted file mode 100644 index ce2cb9dc60..0000000000 --- a/doc/flux_fixpoint/struct.KVid.html +++ /dev/null @@ -1,51 +0,0 @@ -KVid in flux_fixpoint - Rust

    Struct flux_fixpoint::KVid

    source ·
    pub struct KVid {
    -    private: u32,
    -}

    Fields§

    §private: u32

    Implementations§

    source§

    impl KVid

    source

    pub const MAX_AS_U32: u32 = 4_294_967_040u32

    Maximum value the index can take, as a u32.

    -
    source

    pub const MAX: Self = _

    Maximum value the index can take.

    -
    source

    pub const fn from_usize(value: usize) -> Self

    Creates a new index from a given usize.

    -
    Panics
    -

    Will panic if value exceeds MAX.

    -
    source

    pub const fn from_u32(value: u32) -> Self

    Creates a new index from a given u32.

    -
    Panics
    -

    Will panic if value exceeds MAX.

    -
    source

    pub const unsafe fn from_u32_unchecked(value: u32) -> Self

    Creates a new index from a given u32.

    -
    Safety
    -

    The provided value must be less than or equal to the maximum value for the newtype. -Providing a value outside this range is undefined due to layout restrictions.

    -

    Prefer using from_u32.

    -
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    -
    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    -
    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for KVid

    §

    type Output = KVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for KVid

    source§

    fn clone(&self) -> KVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for KVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for KVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<KVid> for u32

    source§

    fn from(v: KVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<KVid> for usize

    source§

    fn from(v: KVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for KVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for KVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for KVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where - H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for KVid

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for KVid

    source§

    fn cmp(&self, other: &KVid) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere - Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere - Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for KVid

    source§

    fn eq(&self, other: &KVid) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for KVid

    source§

    fn partial_cmp(&self, other: &KVid) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Step for KVid

    source§

    fn steps_between(start: &Self, end: &Self) -> Option<usize>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the number of successor steps required to get from start to end. Read more
    source§

    fn forward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    fn backward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    fn forward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    unsafe fn forward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    fn backward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    unsafe fn backward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    impl Copy for KVid

    source§

    impl Eq for KVid

    source§

    impl StructuralEq for KVid

    source§

    impl StructuralPartialEq for KVid

    source§

    impl TrustedStep for KVid

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVid

    §

    impl Send for KVid

    §

    impl Sync for KVid

    §

    impl Unpin for KVid

    §

    impl UnwindSafe for KVid

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere - Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.Name.html b/doc/flux_fixpoint/struct.Name.html deleted file mode 100644 index e9b690dc6b..0000000000 --- a/doc/flux_fixpoint/struct.Name.html +++ /dev/null @@ -1,51 +0,0 @@ -Name in flux_fixpoint - Rust

    Struct flux_fixpoint::Name

    source ·
    pub struct Name {
    -    private: u32,
    -}

    Fields§

    §private: u32

    Implementations§

    source§

    impl Name

    source

    pub const MAX_AS_U32: u32 = 4_294_967_040u32

    Maximum value the index can take, as a u32.

    -
    source

    pub const MAX: Self = _

    Maximum value the index can take.

    -
    source

    pub const fn from_usize(value: usize) -> Self

    Creates a new index from a given usize.

    -
    Panics
    -

    Will panic if value exceeds MAX.

    -
    source

    pub const fn from_u32(value: u32) -> Self

    Creates a new index from a given u32.

    -
    Panics
    -

    Will panic if value exceeds MAX.

    -
    source

    pub const unsafe fn from_u32_unchecked(value: u32) -> Self

    Creates a new index from a given u32.

    -
    Safety
    -

    The provided value must be less than or equal to the maximum value for the newtype. -Providing a value outside this range is undefined due to layout restrictions.

    -

    Prefer using from_u32.

    -
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    -
    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    -
    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for Expr

    source§

    fn from(n: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where - H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for Name

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for Name

    source§

    fn cmp(&self, other: &Name) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere - Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere - Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for Name

    source§

    fn eq(&self, other: &Name) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Name

    source§

    fn partial_cmp(&self, other: &Name) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Step for Name

    source§

    fn steps_between(start: &Self, end: &Self) -> Option<usize>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the number of successor steps required to get from start to end. Read more
    source§

    fn forward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    fn backward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    fn forward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    unsafe fn forward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor -of self count times. Read more
    source§

    fn backward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    unsafe fn backward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor -of self count times. Read more
    source§

    impl Copy for Name

    source§

    impl Eq for Name

    source§

    impl StructuralEq for Name

    source§

    impl StructuralPartialEq for Name

    source§

    impl TrustedStep for Name

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Name

    §

    impl Send for Name

    §

    impl Sync for Name

    §

    impl Unpin for Name

    §

    impl UnwindSafe for Name

    Blanket Implementations§

    source§

    impl<T> Any for Twhere - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere - T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere - Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere - Q: Eq + ?Sized, - K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for Twhere - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    -

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    -
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.PolyFuncSort.html b/doc/flux_fixpoint/struct.PolyFuncSort.html index c72aba8a77..52f5c4ea0d 100644 --- a/doc/flux_fixpoint/struct.PolyFuncSort.html +++ b/doc/flux_fixpoint/struct.PolyFuncSort.html @@ -1,11 +1,11 @@ -PolyFuncSort in flux_fixpoint - Rust
    pub struct PolyFuncSort {
    +PolyFuncSort in flux_fixpoint - Rust
    pub struct PolyFuncSort {
         params: usize,
         fsort: FuncSort,
    -}

    Fields§

    §params: usize§fsort: FuncSort

    Implementations§

    Fields§

    §params: usize§fsort: FuncSort

    Implementations§

    source§

    impl PolyFuncSort

    source

    pub fn new( params: usize, inputs: impl IntoIterator<Item = Sort>, output: Sort -) -> PolyFuncSort

    Trait Implementations§

    source§

    impl Clone for PolyFuncSort

    source§

    fn clone(&self) -> PolyFuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Display for PolyFuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for PolyFuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> PolyFuncSort

    Trait Implementations§

    source§

    impl Clone for PolyFuncSort

    source§

    fn clone(&self) -> PolyFuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Display for PolyFuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for PolyFuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere @@ -19,4 +19,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.Qualifier.html b/doc/flux_fixpoint/struct.Qualifier.html index 79473321a1..d4e8bce7d8 100644 --- a/doc/flux_fixpoint/struct.Qualifier.html +++ b/doc/flux_fixpoint/struct.Qualifier.html @@ -1,11 +1,16 @@ -Qualifier in flux_fixpoint - Rust
    pub struct Qualifier {
    +Qualifier in flux_fixpoint - Rust
    pub struct Qualifier<T: Types> {
         pub name: String,
    -    pub args: Vec<(Name, Sort)>,
    -    pub body: Expr,
    +    pub args: Vec<(T::Var, Sort)>,
    +    pub body: Expr<T>,
         pub global: bool,
    -}

    Fields§

    §name: String§args: Vec<(Name, Sort)>§body: Expr§global: bool

    Trait Implementations§

    source§

    impl Display for Qualifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Qualifier

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §name: String§args: Vec<(T::Var, Sort)>§body: Expr<T>§global: bool

    Trait Implementations§

    source§

    impl<T: Types> Display for Qualifier<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Types> Hash for Qualifier<T>

    source§

    fn hash<__H: Hasher>(&self, __state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Qualifier<T>where + <T as Types>::Var: RefUnwindSafe,

    §

    impl<T> Send for Qualifier<T>where + <T as Types>::Var: Send,

    §

    impl<T> Sync for Qualifier<T>where + <T as Types>::Var: Sync,

    §

    impl<T> Unpin for Qualifier<T>where + <T as Types>::Var: Unpin,

    §

    impl<T> UnwindSafe for Qualifier<T>where + <T as Types>::Var: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -16,4 +21,5 @@
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.Stats.html b/doc/flux_fixpoint/struct.Stats.html index 5899e15ece..fe5460a679 100644 --- a/doc/flux_fixpoint/struct.Stats.html +++ b/doc/flux_fixpoint/struct.Stats.html @@ -1,9 +1,9 @@ -Stats in flux_fixpoint - Rust

    Struct flux_fixpoint::Stats

    source ·
    pub struct Stats {
    +Stats in flux_fixpoint - Rust

    Struct flux_fixpoint::Stats

    source ·
    pub struct Stats {
         pub num_cstr: i32,
         pub num_iter: i32,
         pub num_chck: i32,
         pub num_vald: i32,
    -}

    Fields§

    §num_cstr: i32§num_iter: i32§num_chck: i32§num_vald: i32

    Trait Implementations§

    source§

    impl Debug for Stats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Stats

    source§

    fn default() -> Stats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Stats

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +}

    Fields§

    §num_cstr: i32§num_iter: i32§num_chck: i32§num_vald: i32

    Trait Implementations§

    source§

    impl Debug for Stats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Stats

    source§

    fn default() -> Stats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Stats

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Stats

    §

    impl Send for Stats

    §

    impl Sync for Stats

    §

    impl Unpin for Stats

    §

    impl UnwindSafe for Stats

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_fixpoint/struct.StringTypes.html b/doc/flux_fixpoint/struct.StringTypes.html new file mode 100644 index 0000000000..e0382844d3 --- /dev/null +++ b/doc/flux_fixpoint/struct.StringTypes.html @@ -0,0 +1,11 @@ +StringTypes in flux_fixpoint - Rust
    pub(crate) struct StringTypes;

    Trait Implementations§

    source§

    impl Types for StringTypes

    §

    type KVar = &'static str

    §

    type Var = &'static str

    §

    type Tag = String

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/flux_fixpoint/struct.Task.html b/doc/flux_fixpoint/struct.Task.html index 8e3162ad9b..1f1898404f 100644 --- a/doc/flux_fixpoint/struct.Task.html +++ b/doc/flux_fixpoint/struct.Task.html @@ -1,31 +1,41 @@ -Task in flux_fixpoint - Rust

    Struct flux_fixpoint::Task

    source ·
    pub struct Task<Tag> {
    +Task in flux_fixpoint - Rust

    Struct flux_fixpoint::Task

    source ·
    pub struct Task<T: Types> {
         pub comments: Vec<String>,
    -    pub constants: Vec<ConstInfo>,
    -    pub kvars: Vec<KVar>,
    -    pub constraint: Constraint<Tag>,
    -    pub qualifiers: Vec<Qualifier>,
    +    pub constants: Vec<ConstInfo<T>>,
    +    pub kvars: Vec<KVar<T>>,
    +    pub constraint: Constraint<T>,
    +    pub qualifiers: Vec<Qualifier<T>>,
         pub sorts: Vec<String>,
         pub scrape_quals: bool,
    -}

    Fields§

    §comments: Vec<String>§constants: Vec<ConstInfo>§kvars: Vec<KVar>§constraint: Constraint<Tag>§qualifiers: Vec<Qualifier>§sorts: Vec<String>§scrape_quals: bool

    Implementations§

    source§

    impl<Tag: Display + FromStr> Task<Tag>

    source

    pub fn new( +}

    Fields§

    §comments: Vec<String>§constants: Vec<ConstInfo<T>>§kvars: Vec<KVar<T>>§constraint: Constraint<T>§qualifiers: Vec<Qualifier<T>>§sorts: Vec<String>§scrape_quals: bool

    Implementations§

    source§

    impl<T: Types> Task<T>

    source

    pub fn new( comments: Vec<String>, - constants: Vec<ConstInfo>, - kvars: Vec<KVar>, - constraint: Constraint<Tag>, - qualifiers: Vec<Qualifier>, + constants: Vec<ConstInfo<T>>, + kvars: Vec<KVar<T>>, + constraint: Constraint<T>, + qualifiers: Vec<Qualifier<T>>, sorts: Vec<String>, scrape_quals: bool -) -> Self

    source

    pub fn hash_with_default(&self) -> u64

    source

    pub fn check_with_cache( +) -> Self

    source

    pub fn hash_with_default(&self) -> u64

    source

    pub fn check_with_cache( &self, key: String, cache: &mut QueryCache -) -> Result<FixpointResult<Tag>>

    source

    pub(crate) fn check(&self) -> Result<FixpointResult<Tag>>

    Trait Implementations§

    source§

    impl<Tag: Display> Debug for Task<Tag>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Tag: Display> Display for Task<Tag>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Tag> Hash for Task<Tag>

    source§

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Result<FixpointResult<T::Tag>>

    source

    pub(crate) fn check(&self) -> Result<FixpointResult<T::Tag>>

    Trait Implementations§

    source§

    impl<T: Types> Debug for Task<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Types> Display for Task<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Types> Hash for Task<T>

    source§

    fn hash<__H: Hasher>(&self, __state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl<Tag> RefUnwindSafe for Task<Tag>where - Tag: RefUnwindSafe,

    §

    impl<Tag> Send for Task<Tag>where - Tag: Send,

    §

    impl<Tag> Sync for Task<Tag>where - Tag: Sync,

    §

    impl<Tag> Unpin for Task<Tag>where - Tag: Unpin,

    §

    impl<Tag> UnwindSafe for Task<Tag>where - Tag: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Task<T>where + <T as Types>::KVar: RefUnwindSafe, + <T as Types>::Tag: RefUnwindSafe, + <T as Types>::Var: RefUnwindSafe,

    §

    impl<T> Send for Task<T>where + <T as Types>::KVar: Send, + <T as Types>::Tag: Send, + <T as Types>::Var: Send,

    §

    impl<T> Sync for Task<T>where + <T as Types>::KVar: Sync, + <T as Types>::Tag: Sync, + <T as Types>::Var: Sync,

    §

    impl<T> Unpin for Task<T>where + <T as Types>::KVar: Unpin, + <T as Types>::Tag: Unpin, + <T as Types>::Var: Unpin,

    §

    impl<T> UnwindSafe for Task<T>where + <T as Types>::KVar: UnwindSafe, + <T as Types>::Tag: UnwindSafe, + <T as Types>::Var: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -36,4 +46,5 @@
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_fixpoint/trait.Symbol.html b/doc/flux_fixpoint/trait.Symbol.html new file mode 100644 index 0000000000..1ae747a88c --- /dev/null +++ b/doc/flux_fixpoint/trait.Symbol.html @@ -0,0 +1 @@ +Symbol in flux_fixpoint - Rust

    Trait flux_fixpoint::Symbol

    source ·
    pub trait Symbol: Display + Hash { }

    Object Safety§

    This trait is not object safe.

    Implementors§

    source§

    impl<T: Display + Hash> Symbol for T

    \ No newline at end of file diff --git a/doc/flux_fixpoint/trait.Types.html b/doc/flux_fixpoint/trait.Types.html new file mode 100644 index 0000000000..3b42d22ad4 --- /dev/null +++ b/doc/flux_fixpoint/trait.Types.html @@ -0,0 +1,5 @@ +Types in flux_fixpoint - Rust

    Trait flux_fixpoint::Types

    source ·
    pub trait Types {
    +    type KVar: Symbol;
    +    type Var: Symbol;
    +    type Tag: Display + Hash + FromStr;
    +}

    Required Associated Types§

    Implementors§

    source§

    impl Types for StringTypes

    §

    type KVar = &'static str

    §

    type Var = &'static str

    §

    type Tag = String

    \ No newline at end of file diff --git a/doc/flux_metadata/decoder/struct.DecodeContext.html b/doc/flux_metadata/decoder/struct.DecodeContext.html index 5a3599b242..d5a2c8e462 100644 --- a/doc/flux_metadata/decoder/struct.DecodeContext.html +++ b/doc/flux_metadata/decoder/struct.DecodeContext.html @@ -1,7 +1,7 @@ DecodeContext in flux_metadata::decoder - Rust
    struct DecodeContext<'a, 'tcx> {
         tcx: TyCtxt<'tcx>,
         opaque: MemDecoder<'a>,
    -}

    Fields§

    §tcx: TyCtxt<'tcx>§opaque: MemDecoder<'a>

    Trait Implementations§

    source§

    impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for CrateNum

    source§

    fn decode(d: &mut DecodeContext<'a, 'tcx>) -> Self

    source§

    impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for DefIndex

    source§

    fn decode(d: &mut DecodeContext<'a, 'tcx>) -> Self

    source§

    impl<'a, 'tcx> Decoder for DecodeContext<'a, 'tcx>

    source§

    fn read_usize(&mut self) -> usize

    source§

    fn read_u128(&mut self) -> u128

    source§

    fn read_u64(&mut self) -> u64

    source§

    fn read_u32(&mut self) -> u32

    source§

    fn read_u16(&mut self) -> u16

    source§

    fn read_u8(&mut self) -> u8

    source§

    fn read_isize(&mut self) -> isize

    source§

    fn read_i128(&mut self) -> i128

    source§

    fn read_i64(&mut self) -> i64

    source§

    fn read_i32(&mut self) -> i32

    source§

    fn read_i16(&mut self) -> i16

    source§

    fn read_raw_bytes(&mut self, len: usize) -> &[u8]

    source§

    fn peek_byte(&self) -> u8

    source§

    fn position(&self) -> usize

    source§

    fn read_i8(&mut self) -> i8

    source§

    fn read_bool(&mut self) -> bool

    source§

    fn read_char(&mut self) -> char

    source§

    fn read_str(&mut self) -> &str

    source§

    impl<'a, 'tcx> TyDecoder for DecodeContext<'a, 'tcx>

    §

    type I = TyCtxt<'tcx>

    source§

    const CLEAR_CROSS_CRATE: bool = true

    source§

    fn interner(&self) -> Self::I

    source§

    fn cached_ty_for_shorthand<F>( +}

    Fields§

    §tcx: TyCtxt<'tcx>§opaque: MemDecoder<'a>

    Trait Implementations§

    source§

    impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for CrateNum

    source§

    fn decode(d: &mut DecodeContext<'a, 'tcx>) -> Self

    source§

    impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for DefIndex

    source§

    fn decode(d: &mut DecodeContext<'a, 'tcx>) -> Self

    source§

    impl<'a, 'tcx> Decoder for DecodeContext<'a, 'tcx>

    source§

    fn read_usize(&mut self) -> usize

    source§

    fn read_u128(&mut self) -> u128

    source§

    fn read_u64(&mut self) -> u64

    source§

    fn read_u32(&mut self) -> u32

    source§

    fn read_u16(&mut self) -> u16

    source§

    fn read_u8(&mut self) -> u8

    source§

    fn read_isize(&mut self) -> isize

    source§

    fn read_i128(&mut self) -> i128

    source§

    fn read_i64(&mut self) -> i64

    source§

    fn read_i32(&mut self) -> i32

    source§

    fn read_i16(&mut self) -> i16

    source§

    fn read_raw_bytes(&mut self, len: usize) -> &[u8]

    source§

    fn peek_byte(&self) -> u8

    source§

    fn position(&self) -> usize

    source§

    fn read_i8(&mut self) -> i8

    source§

    fn read_bool(&mut self) -> bool

    source§

    fn read_char(&mut self) -> char

    source§

    fn read_str(&mut self) -> &str

    source§

    impl<'a, 'tcx> TyDecoder for DecodeContext<'a, 'tcx>

    §

    type I = TyCtxt<'tcx>

    source§

    const CLEAR_CROSS_CRATE: bool = true

    source§

    fn interner(&self) -> Self::I

    source§

    fn cached_ty_for_shorthand<F>( &mut self, shorthand: usize, or_insert_with: F diff --git a/doc/flux_metadata/encoder/struct.EncodeContext.html b/doc/flux_metadata/encoder/struct.EncodeContext.html index d2b3b995b8..a07f5be907 100644 --- a/doc/flux_metadata/encoder/struct.EncodeContext.html +++ b/doc/flux_metadata/encoder/struct.EncodeContext.html @@ -3,7 +3,7 @@ opaque: FileEncoder, type_shorthands: FxHashMap<Ty<'tcx>, usize>, predicate_shorthands: FxHashMap<PredicateKind<'tcx>, usize>, -}

    Fields§

    §tcx: TyCtxt<'tcx>§opaque: FileEncoder§type_shorthands: FxHashMap<Ty<'tcx>, usize>§predicate_shorthands: FxHashMap<PredicateKind<'tcx>, usize>

    Trait Implementations§

    source§

    impl<'tcx> Encodable<EncodeContext<'tcx>> for CrateNum

    source§

    fn encode(&self, s: &mut EncodeContext<'tcx>)

    source§

    impl<'tcx> Encodable<EncodeContext<'tcx>> for DefIndex

    source§

    fn encode(&self, s: &mut EncodeContext<'tcx>)

    source§

    impl<'tcx> Encoder for EncodeContext<'tcx>

    source§

    fn emit_usize(&mut self, value: usize)

    source§

    fn emit_u128(&mut self, value: u128)

    source§

    fn emit_u64(&mut self, value: u64)

    source§

    fn emit_u32(&mut self, value: u32)

    source§

    fn emit_u16(&mut self, value: u16)

    source§

    fn emit_u8(&mut self, value: u8)

    source§

    fn emit_isize(&mut self, value: isize)

    source§

    fn emit_i128(&mut self, value: i128)

    source§

    fn emit_i64(&mut self, value: i64)

    source§

    fn emit_i32(&mut self, value: i32)

    source§

    fn emit_i16(&mut self, value: i16)

    source§

    fn emit_i8(&mut self, value: i8)

    source§

    fn emit_bool(&mut self, value: bool)

    source§

    fn emit_char(&mut self, value: char)

    source§

    fn emit_str(&mut self, value: &str)

    source§

    fn emit_raw_bytes(&mut self, value: &[u8])

    source§

    fn emit_enum_variant<F>(&mut self, v_id: usize, f: F)where +}

    Fields§

    §tcx: TyCtxt<'tcx>§opaque: FileEncoder§type_shorthands: FxHashMap<Ty<'tcx>, usize>§predicate_shorthands: FxHashMap<PredicateKind<'tcx>, usize>

    Trait Implementations§

    source§

    impl<'tcx> Encodable<EncodeContext<'tcx>> for CrateNum

    source§

    fn encode(&self, s: &mut EncodeContext<'tcx>)

    source§

    impl<'tcx> Encodable<EncodeContext<'tcx>> for DefIndex

    source§

    fn encode(&self, s: &mut EncodeContext<'tcx>)

    source§

    impl<'tcx> Encoder for EncodeContext<'tcx>

    source§

    fn emit_usize(&mut self, value: usize)

    source§

    fn emit_u128(&mut self, value: u128)

    source§

    fn emit_u64(&mut self, value: u64)

    source§

    fn emit_u32(&mut self, value: u32)

    source§

    fn emit_u16(&mut self, value: u16)

    source§

    fn emit_u8(&mut self, value: u8)

    source§

    fn emit_isize(&mut self, value: isize)

    source§

    fn emit_i128(&mut self, value: i128)

    source§

    fn emit_i64(&mut self, value: i64)

    source§

    fn emit_i32(&mut self, value: i32)

    source§

    fn emit_i16(&mut self, value: i16)

    source§

    fn emit_i8(&mut self, value: i8)

    source§

    fn emit_bool(&mut self, value: bool)

    source§

    fn emit_char(&mut self, value: char)

    source§

    fn emit_str(&mut self, value: &str)

    source§

    fn emit_raw_bytes(&mut self, value: &[u8])

    source§

    fn emit_enum_variant<F>(&mut self, v_id: usize, f: F)where F: FnOnce(&mut Self),

    source§

    impl<'tcx> TyEncoder for EncodeContext<'tcx>

    source§

    const CLEAR_CROSS_CRATE: bool = true

    §

    type I = TyCtxt<'tcx>

    source§

    fn position(&self) -> usize

    source§

    fn type_shorthands(&mut self) -> &mut FxHashMap<Ty<'tcx>, usize>

    source§

    fn predicate_shorthands(&mut self) -> &mut FxHashMap<PredicateKind<'tcx>, usize>

    source§

    fn encode_alloc_id(&mut self, _alloc_id: &AllocId)

    Auto Trait Implementations§

    §

    impl<'tcx> !RefUnwindSafe for EncodeContext<'tcx>

    §

    impl<'tcx> !Send for EncodeContext<'tcx>

    §

    impl<'tcx> !Sync for EncodeContext<'tcx>

    §

    impl<'tcx> Unpin for EncodeContext<'tcx>

    §

    impl<'tcx> !UnwindSafe for EncodeContext<'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_middle/all.html b/doc/flux_middle/all.html index 3f419f14b3..665c26dbfd 100644 --- a/doc/flux_middle/all.html +++ b/doc/flux_middle/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Statics

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Statics

    Constants

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/enum.BinOp.html b/doc/flux_middle/fhir/enum.BinOp.html index 762edad71e..b0ecf152cf 100644 --- a/doc/flux_middle/fhir/enum.BinOp.html +++ b/doc/flux_middle/fhir/enum.BinOp.html @@ -1,4 +1,4 @@ -BinOp in flux_middle::fhir - Rust

    Enum flux_middle::fhir::BinOp

    source ·
    pub enum BinOp {
    +BinOp in flux_middle::fhir - Rust

    Enum flux_middle::fhir::BinOp

    source ·
    pub enum BinOp {
     
    Show 15 variants Iff, Imp, Or, @@ -14,12 +14,12 @@ Mul, Div, Mod, -
    }

    Variants§

    §

    Iff

    §

    Imp

    §

    Or

    §

    And

    §

    Eq

    §

    Ne

    §

    Gt

    §

    Ge

    §

    Lt

    §

    Le

    §

    Add

    §

    Sub

    §

    Mul

    §

    Div

    §

    Mod

    Trait Implementations§

    source§

    impl Clone for BinOp

    source§

    fn clone(&self) -> BinOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BinOp

    source§

    fn hash<__H>(&self, state: &mut __H)where +

    }

    Variants§

    §

    Iff

    §

    Imp

    §

    Or

    §

    And

    §

    Eq

    §

    Ne

    §

    Gt

    §

    Ge

    §

    Lt

    §

    Le

    §

    Add

    §

    Sub

    §

    Mul

    §

    Div

    §

    Mod

    Trait Implementations§

    source§

    impl Clone for BinOp

    source§

    fn clone(&self) -> BinOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BinOp

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BinOp

    source§

    fn eq(&self, other: &BinOp) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    source§

    impl PartialEq for BinOp

    source§

    fn eq(&self, other: &BinOp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for BinOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    source§

    impl StructuralEq for BinOp

    source§

    impl StructuralPartialEq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl Send for BinOp

    §

    impl Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for BinOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    source§

    impl StructuralEq for BinOp

    source§

    impl StructuralPartialEq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl Send for BinOp

    §

    impl Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -35,4 +35,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/enum.FluxLocalDefId.html b/doc/flux_middle/fhir/enum.FluxLocalDefId.html index 7e41a39b52..325358be3a 100644 --- a/doc/flux_middle/fhir/enum.FluxLocalDefId.html +++ b/doc/flux_middle/fhir/enum.FluxLocalDefId.html @@ -3,7 +3,7 @@ Rust(LocalDefId), }

    Variants§

    §

    Flux(Symbol)

    An item without a corresponding Rust definition, e.g., a qualifier or an uninterpreted function

    §

    Rust(LocalDefId)

    An item with a corresponding Rust definition, e.g., struct, enum, or function.

    -

    Trait Implementations§

    source§

    impl Clone for FluxLocalDefId

    source§

    fn clone(&self) -> FluxLocalDefId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FluxLocalDefId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<FluxOwnerId> for FluxLocalDefId

    source§

    fn from(flux_id: FluxOwnerId) -> Self

    Converts to this type from the input type.
    source§

    impl From<LocalDefId> for FluxLocalDefId

    source§

    fn from(def_id: LocalDefId) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for FluxLocalDefId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Clone for FluxLocalDefId

    source§

    fn clone(&self) -> FluxLocalDefId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FluxLocalDefId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<FluxOwnerId> for FluxLocalDefId

    source§

    fn from(flux_id: FluxOwnerId) -> Self

    Converts to this type from the input type.
    source§

    impl From<LocalDefId> for FluxLocalDefId

    source§

    fn from(def_id: LocalDefId) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for FluxLocalDefId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FluxLocalDefId

    source§

    fn eq(&self, other: &FluxLocalDefId) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always diff --git a/doc/flux_middle/fhir/enum.FluxOwnerId.html b/doc/flux_middle/fhir/enum.FluxOwnerId.html index c781fbd6e1..6bd2e49215 100644 --- a/doc/flux_middle/fhir/enum.FluxOwnerId.html +++ b/doc/flux_middle/fhir/enum.FluxOwnerId.html @@ -2,7 +2,7 @@ Flux(Symbol), Rust(OwnerId), }
    Expand description

    Owner version of FluxLocalDefId

    -

    Variants§

    §

    Flux(Symbol)

    §

    Rust(OwnerId)

    Trait Implementations§

    source§

    impl Clone for FluxOwnerId

    source§

    fn clone(&self) -> FluxOwnerId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FluxOwnerId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<FluxOwnerId> for FluxLocalDefId

    source§

    fn from(flux_id: FluxOwnerId) -> Self

    Converts to this type from the input type.
    source§

    impl From<OwnerId> for FluxOwnerId

    source§

    fn from(owner_id: OwnerId) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for FluxOwnerId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Variants§

    §

    Flux(Symbol)

    §

    Rust(OwnerId)

    Trait Implementations§

    source§

    impl Clone for FluxOwnerId

    source§

    fn clone(&self) -> FluxOwnerId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FluxOwnerId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<FluxOwnerId> for FluxLocalDefId

    source§

    fn from(flux_id: FluxOwnerId) -> Self

    Converts to this type from the input type.
    source§

    impl From<OwnerId> for FluxOwnerId

    source§

    fn from(owner_id: OwnerId) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for FluxOwnerId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FluxOwnerId

    source§

    fn eq(&self, other: &FluxOwnerId) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always diff --git a/doc/flux_middle/fhir/enum.InferMode.html b/doc/flux_middle/fhir/enum.InferMode.html index 6c2c98c10c..c1ac1ee1ca 100644 --- a/doc/flux_middle/fhir/enum.InferMode.html +++ b/doc/flux_middle/fhir/enum.InferMode.html @@ -12,7 +12,7 @@ H: Hasher, Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for InferMode

    source§

    fn eq(&self, other: &InferMode) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for InferMode

    source§

    impl Copy for InferMode

    source§

    impl Eq for InferMode

    source§

    impl StructuralEq for InferMode

    source§

    impl StructuralPartialEq for InferMode

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for InferMode

    source§

    impl Copy for InferMode

    source§

    impl Eq for InferMode

    source§

    impl StructuralEq for InferMode

    source§

    impl StructuralPartialEq for InferMode

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/fhir/enum.Sort.html b/doc/flux_middle/fhir/enum.Sort.html index e846f237ea..b9bc3d1c23 100644 --- a/doc/flux_middle/fhir/enum.Sort.html +++ b/doc/flux_middle/fhir/enum.Sort.html @@ -1,4 +1,4 @@ -Sort in flux_middle::fhir - Rust

    §

    fn unify_values(value1: &T, value2: &T) -> Result<T, <T as UnifyValue>::Error>

    Given two values, produce a new value that combines them. -If that is not possible, produce an error.
    \ No newline at end of file +If that is not possible, produce an error.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/enum.SortCtor.html b/doc/flux_middle/fhir/enum.SortCtor.html index 5fceeb819a..2d8e2fe9fd 100644 --- a/doc/flux_middle/fhir/enum.SortCtor.html +++ b/doc/flux_middle/fhir/enum.SortCtor.html @@ -1,4 +1,4 @@ -SortCtor in flux_middle::fhir - Rust
    pub enum SortCtor {
    +SortCtor in flux_middle::fhir - Rust
    pub enum SortCtor {
         Set,
         Map,
         User {
    @@ -25,4 +25,5 @@
         T: Clone,
    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/enum.UnOp.html b/doc/flux_middle/fhir/enum.UnOp.html index 4019355375..5a2eb847cd 100644 --- a/doc/flux_middle/fhir/enum.UnOp.html +++ b/doc/flux_middle/fhir/enum.UnOp.html @@ -1,12 +1,12 @@ -UnOp in flux_middle::fhir - Rust

    Enum flux_middle::fhir::UnOp

    source ·
    pub enum UnOp {
    +UnOp in flux_middle::fhir - Rust

    Enum flux_middle::fhir::UnOp

    source ·
    pub enum UnOp {
         Not,
         Neg,
    -}

    Variants§

    §

    Not

    §

    Neg

    Trait Implementations§

    source§

    impl Clone for UnOp

    source§

    fn clone(&self) -> UnOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UnOp

    source§

    fn hash<__H>(&self, state: &mut __H)where +}

    Variants§

    §

    Not

    §

    Neg

    Trait Implementations§

    source§

    impl Clone for UnOp

    source§

    fn clone(&self) -> UnOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UnOp

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for UnOp

    source§

    fn eq(&self, other: &UnOp) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for UnOp

    source§

    fn eq(&self, other: &UnOp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for UnOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    source§

    impl StructuralEq for UnOp

    source§

    impl StructuralPartialEq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl Send for UnOp

    §

    impl Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for UnOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    source§

    impl StructuralEq for UnOp

    source§

    impl StructuralPartialEq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl Send for UnOp

    §

    impl Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -22,4 +22,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/struct.FuncSort.html b/doc/flux_middle/fhir/struct.FuncSort.html index 5dbb5d6fae..50616831f2 100644 --- a/doc/flux_middle/fhir/struct.FuncSort.html +++ b/doc/flux_middle/fhir/struct.FuncSort.html @@ -1,4 +1,4 @@ -FuncSort in flux_middle::fhir - Rust

    Struct flux_middle::fhir::FuncSort

    source ·
    pub struct FuncSort {
    +FuncSort in flux_middle::fhir - Rust

    Struct flux_middle::fhir::FuncSort

    source ·
    pub struct FuncSort {
         pub inputs_and_output: List<Sort>,
     }

    Fields§

    §inputs_and_output: List<Sort>

    inputs and output in order

    Implementations§

    source§

    impl FuncSort

    source

    pub fn new(inputs: Vec<Sort>, output: Sort) -> Self

    source

    pub fn inputs(&self) -> &[Sort]

    source

    pub fn output(&self) -> &Sort

    Trait Implementations§

    source§

    impl Clone for FuncSort

    source§

    fn clone(&self) -> FuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FuncSort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl Display for FuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__E: TyEncoder> Encodable<__E> for FuncSort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where @@ -21,4 +21,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/struct.ItemLocalId.html b/doc/flux_middle/fhir/struct.ItemLocalId.html index 0dd2b05dbd..cb3904d8b9 100644 --- a/doc/flux_middle/fhir/struct.ItemLocalId.html +++ b/doc/flux_middle/fhir/struct.ItemLocalId.html @@ -17,7 +17,7 @@
    Safety
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for ItemLocalId

    §

    type Output = ItemLocalId

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for ItemLocalId

    source§

    fn clone(&self) -> ItemLocalId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ItemLocalId

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for ItemLocalId

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for ItemLocalId

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<ItemLocalId> for u32

    source§

    fn from(v: ItemLocalId) -> u32

    Converts to this type from the input type.
    source§

    impl From<ItemLocalId> for usize

    source§

    fn from(v: ItemLocalId) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for ItemLocalId

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for ItemLocalId

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for ItemLocalId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for ItemLocalId

    §

    type Output = ItemLocalId

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for ItemLocalId

    source§

    fn clone(&self) -> ItemLocalId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ItemLocalId

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for ItemLocalId

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for ItemLocalId

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<ItemLocalId> for u32

    source§

    fn from(v: ItemLocalId) -> u32

    Converts to this type from the input type.
    source§

    impl From<ItemLocalId> for usize

    source§

    fn from(v: ItemLocalId) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for ItemLocalId

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for ItemLocalId

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for ItemLocalId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for ItemLocalId

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for ItemLocalId

    source§

    fn cmp(&self, other: &ItemLocalId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/fhir/struct.Name.html b/doc/flux_middle/fhir/struct.Name.html index daedbb865c..b765e7dbbf 100644 --- a/doc/flux_middle/fhir/struct.Name.html +++ b/doc/flux_middle/fhir/struct.Name.html @@ -16,7 +16,7 @@
    Safety

    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for Name

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for Name

    source§

    fn cmp(&self, other: &Name) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/fhir/struct.PolyFuncSort.html b/doc/flux_middle/fhir/struct.PolyFuncSort.html index 1dec03bf5a..bd797a6db8 100644 --- a/doc/flux_middle/fhir/struct.PolyFuncSort.html +++ b/doc/flux_middle/fhir/struct.PolyFuncSort.html @@ -1,4 +1,4 @@ -PolyFuncSort in flux_middle::fhir - Rust
    pub struct PolyFuncSort {
    +PolyFuncSort in flux_middle::fhir - Rust
    pub struct PolyFuncSort {
         pub params: usize,
         pub fsort: FuncSort,
     }

    Fields§

    §params: usize§fsort: FuncSort

    Implementations§

    source§

    impl PolyFuncSort

    source

    pub fn new(params: usize, inputs: Vec<Sort>, output: Sort) -> Self

    source

    pub fn skip_binders(&self) -> FuncSort

    source

    pub fn instantiate(&self, args: &[Sort]) -> FuncSort

    Trait Implementations§

    source§

    impl Clone for PolyFuncSort

    source§

    fn clone(&self) -> PolyFuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PolyFuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl Display for PolyFuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<PolyFuncSort> for Sort

    source§

    fn from(fsort: PolyFuncSort) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for PolyFuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where @@ -21,4 +21,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/fhir/struct.SortVid.html b/doc/flux_middle/fhir/struct.SortVid.html index ee1dee757e..43f0243fc0 100644 --- a/doc/flux_middle/fhir/struct.SortVid.html +++ b/doc/flux_middle/fhir/struct.SortVid.html @@ -17,7 +17,7 @@
    Safety
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for SortVid

    §

    type Output = SortVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for SortVid

    source§

    fn clone(&self) -> SortVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SortVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for SortVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for SortVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<SortVid> for u32

    source§

    fn from(v: SortVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<SortVid> for usize

    source§

    fn from(v: SortVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for SortVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for SortVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for SortVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for SortVid

    §

    type Output = SortVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for SortVid

    source§

    fn clone(&self) -> SortVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SortVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for SortVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for SortVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<SortVid> for u32

    source§

    fn from(v: SortVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<SortVid> for usize

    source§

    fn from(v: SortVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for SortVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for SortVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for SortVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for SortVid

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for SortVid

    source§

    fn cmp(&self, other: &SortVid) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/global_env/struct.Ident.html b/doc/flux_middle/global_env/struct.Ident.html index 01fa242d68..8d136dcd1b 100644 --- a/doc/flux_middle/global_env/struct.Ident.html +++ b/doc/flux_middle/global_env/struct.Ident.html @@ -1,4 +1,4 @@ -Ident in flux_middle::global_env - Rust
    pub struct Ident {
    +Ident in flux_middle::global_env - Rust
    pub struct Ident {
         pub name: Symbol,
         pub span: Span,
     }

    Fields§

    §name: Symbol§span: Span

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ident

    §

    impl Send for Ident

    §

    impl Sync for Ident

    §

    impl Unpin for Ident

    §

    impl UnwindSafe for Ident

    Blanket Implementations§

    source§

    impl<T> Any for Twhere @@ -17,4 +17,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/global_env/struct.Symbol.html b/doc/flux_middle/global_env/struct.Symbol.html index 5db5910879..22ca25ff33 100644 --- a/doc/flux_middle/global_env/struct.Symbol.html +++ b/doc/flux_middle/global_env/struct.Symbol.html @@ -1,4 +1,4 @@ -Symbol in flux_middle::global_env - Rust
    pub struct Symbol(SymbolIndex);
    Expand description

    An interned string.

    +Symbol in flux_middle::global_env - Rust
    pub struct Symbol(SymbolIndex);
    Expand description

    An interned string.

    Internally, a Symbol is implemented as an index, and all operations (including hashing, equality, and ordering) operate on that index. The use of rustc_index::newtype_index! means that Option<Symbol> only takes up 4 bytes, @@ -23,4 +23,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/intern/struct.Interned.html b/doc/flux_middle/intern/struct.Interned.html index 6108387294..cb251b7127 100644 --- a/doc/flux_middle/intern/struct.Interned.html +++ b/doc/flux_middle/intern/struct.Interned.html @@ -1,4 +1,4 @@ -Interned in flux_middle::intern - Rust
    pub struct Interned<T: Internable + ?Sized> {
    +Interned in flux_middle::intern - Rust
    pub struct Interned<T: Internable + ?Sized> {
         arc: Arc<T>,
     }

    Fields§

    §arc: Arc<T>

    Implementations§

    source§

    impl<T: Internable> Interned<T>

    source

    pub fn new(obj: T) -> Self

    source§

    impl<T> Interned<[T]>where [T]: Internable,

    source

    fn list_with<S>(obj: S, to_arc: impl FnOnce(S) -> Arc<[T]>) -> List<T>where @@ -33,26 +33,26 @@

    source

    pub fn is_binary_op(&self) -> bool

    source

    fn const_op(op: &BinOp, c1: &Constant, c2: &Constant) -> Option<Constant>

    source

    pub fn simplify(&self) -> Expr

    Simplify the expression by removing double negations, short-circuiting boolean connectives and doing constant folding. Note that we also have TypeFoldable::normalize which applies beta reductions for tuples and abstractions.

    -
    source

    pub fn to_var(&self) -> Option<Var>

    source

    pub fn to_loc(&self) -> Option<Loc>

    source

    pub fn to_path(&self) -> Option<Path>

    source

    pub fn is_abs(&self) -> bool

    source

    pub fn is_tuple(&self) -> bool

    source

    pub fn eta_expand_abs(&self, sorts: &[Sort]) -> Binder<Expr>

    source

    pub fn eta_expand_tuple(&self, sort: &Sort) -> Expr

    source

    pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

    source§

    impl Interned<[GenericArg]>

    source

    pub fn to_var(&self) -> Option<Var>

    source

    pub fn to_loc(&self) -> Option<Loc>

    source

    pub fn to_path(&self) -> Option<Path>

    source

    pub fn is_abs(&self) -> bool

    source

    pub fn is_tuple(&self) -> bool

    source

    pub fn eta_expand_abs(&self, sorts: &[Sort]) -> Binder<Expr>

    source

    pub fn eta_expand_tuple(&self, sort: &Sort) -> Expr

    source

    pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

    source§

    impl Interned<[GenericArg]>

    source

    pub fn identity_for_item( genv: &GlobalEnv<'_, '_>, def_id: impl Into<DefId> -) -> QueryResult<Self>

    source

    fn fill_item<F>( +) -> QueryResult<Self>

    source

    fn fill_item<F>( genv: &GlobalEnv<'_, '_>, args: &mut Vec<GenericArg>, generics: &Generics, mk_kind: &mut F ) -> QueryResult<()>where - F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,

    source§

    impl Interned<[GenericArg]>

    source§

    impl Interned<[BoundVariableKind]>

    source

    pub fn to_sort_list(&self) -> List<Sort>

    source§

    impl Interned<TyS>

    source

    pub fn alias(kind: AliasKind, alias_ty: AliasTy) -> Ty

    source

    pub fn opaque( + F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,

    source§

    impl Interned<[GenericArg]>

    source§

    impl Interned<[BoundVariableKind]>

    source

    pub fn to_sort_list(&self) -> List<Sort>

    source§

    impl Interned<TyS>

    source

    pub fn alias(kind: AliasKind, alias_ty: AliasTy) -> Ty

    source

    pub fn opaque( def_id: impl Into<DefId>, args: GenericArgs, refine_args: RefineArgs -) -> Ty

    source

    pub fn projection(alias_ty: AliasTy) -> Ty

    source

    pub fn ptr(pk: impl Into<PtrKind>, path: impl Into<Path>) -> Ty

    source

    pub fn constr(p: impl Into<Expr>, ty: Ty) -> Ty

    source

    pub fn uninit() -> Ty

    source

    pub fn indexed(bty: BaseTy, idx: impl Into<Index>) -> Ty

    source

    pub fn exists(ty: Binder<Ty>) -> Ty

    source

    pub fn exists_with_constr(bty: BaseTy, pred: Expr) -> Ty

    source

    pub fn discr(adt_def: AdtDef, place: Place) -> Ty

    source

    pub fn unit() -> Ty

    source

    pub fn bool() -> Ty

    source

    pub fn int(int_ty: IntTy) -> Ty

    source

    pub fn uint(uint_ty: UintTy) -> Ty

    source

    pub fn param(param_ty: ParamTy) -> Ty

    source

    pub fn downcast( +) -> Ty

    source

    pub fn projection(alias_ty: AliasTy) -> Ty

    source

    pub fn ptr(pk: impl Into<PtrKind>, path: impl Into<Path>) -> Ty

    source

    pub fn constr(p: impl Into<Expr>, ty: Ty) -> Ty

    source

    pub fn uninit() -> Ty

    source

    pub fn indexed(bty: BaseTy, idx: impl Into<Index>) -> Ty

    source

    pub fn exists(ty: Binder<Ty>) -> Ty

    source

    pub fn exists_with_constr(bty: BaseTy, pred: Expr) -> Ty

    source

    pub fn discr(adt_def: AdtDef, place: Place) -> Ty

    source

    pub fn unit() -> Ty

    source

    pub fn bool() -> Ty

    source

    pub fn int(int_ty: IntTy) -> Ty

    source

    pub fn uint(uint_ty: UintTy) -> Ty

    source

    pub fn param(param_ty: ParamTy) -> Ty

    source

    pub fn downcast( adt: AdtDef, args: GenericArgs, ty: Ty, variant: VariantIdx, fields: List<Ty> -) -> Ty

    source

    pub fn blocked(ty: Ty) -> Ty

    source

    pub fn usize() -> Ty

    source

    pub fn str() -> Ty

    source

    pub fn char() -> Ty

    source

    pub fn float(float_ty: FloatTy) -> Ty

    source

    pub fn mk_ref(region: Region, ty: Ty, mutbl: Mutability) -> Ty

    source

    pub fn mk_slice(ty: Ty) -> Ty

    source

    pub fn tuple(tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn array(ty: Ty, c: Const) -> Ty

    source

    pub fn closure(did: DefId, tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn generator(did: DefId, args: impl Into<List<GenericArg>>) -> Ty

    source

    pub fn never() -> Ty

    source

    pub fn unconstr(&self) -> (Ty, Expr)

    source

    pub fn unblocked(&self) -> Ty

    source§

    impl Interned<[GenericArg]>

    Trait Implementations§

    source§

    impl<T: Internable + ?Sized> AsRef<T> for Interned<T>

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl<T: Internable + ?Sized> Clone for Interned<T>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug + Internable + ?Sized> Debug for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D, T> Decodable<D> for Interned<[T]>where +) -> Ty

    source

    pub fn blocked(ty: Ty) -> Ty

    source

    pub fn usize() -> Ty

    source

    pub fn str() -> Ty

    source

    pub fn char() -> Ty

    source

    pub fn float(float_ty: FloatTy) -> Ty

    source

    pub fn mk_ref(region: Region, ty: Ty, mutbl: Mutability) -> Ty

    source

    pub fn mk_slice(ty: Ty) -> Ty

    source

    pub fn tuple(tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn array(ty: Ty, c: Const) -> Ty

    source

    pub fn closure(did: DefId, tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn generator(did: DefId, args: impl Into<List<GenericArg>>) -> Ty

    source

    pub fn never() -> Ty

    source

    pub fn unconstr(&self) -> (Ty, Expr)

    source

    pub fn unblocked(&self) -> Ty

    source§

    impl Interned<[GenericArg]>

    Trait Implementations§

    source§

    impl<T: Internable + ?Sized> AsRef<T> for Interned<T>

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl<T: Internable + ?Sized> Clone for Interned<T>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug + Internable + ?Sized> Debug for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D, T> Decodable<D> for Interned<[T]>where D: Decoder, T: Decodable<D>, [T]: Internable,

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<D, T> Decodable<D> for Interned<T>where @@ -60,12 +60,12 @@ T: Decodable<D> + Internable,

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<T: Internable + ?Sized> Deref for Interned<T>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<T: Display + Internable + ?Sized> Display for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Internable + ?Sized> Drop for Interned<T>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl<E, T> Encodable<E> for Interned<[T]>where E: Encoder, T: Encodable<E>, - [T]: Internable,

    source§

    fn encode(&self, s: &mut E)

    source§

    impl<E, T> Encodable<E> for Interned<T>where + [T]: Internable,

    source§

    fn encode(&self, s: &mut E)

    source§

    impl<E, T> Encodable<E> for Interned<T>where E: Encoder, - T: Encodable<E> + Internable,

    source§

    fn encode(&self, s: &mut E)

    source§

    impl<T> From<&[T]> for Interned<[T]>where + T: Encodable<E> + Internable,

    source§

    fn encode(&self, s: &mut E)

    source§

    impl<T> From<&[T]> for Interned<[T]>where [T]: Internable, - T: Clone,

    source§

    fn from(slice: &[T]) -> Self

    Converts to this type from the input type.
    source§

    impl From<&Interned<ExprS>> for Expr

    source§

    fn from(e: &Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<Interned<ExprS>> for Index

    source§

    fn from(expr: Expr) -> Self

    Converts to this type from the input type.
    source§

    impl<T> From<Vec<T>> for Interned<[T]>where - [T]: Internable,

    source§

    fn from(vec: Vec<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T: Internable + ?Sized> Hash for Interned<T>

    source§

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + T: Clone,

    source§

    fn from(slice: &[T]) -> Self

    Converts to this type from the input type.
    source§

    impl From<&Interned<ExprS>> for Expr

    source§

    fn from(e: &Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<Interned<ExprS>> for Index

    source§

    fn from(expr: Expr) -> Self

    Converts to this type from the input type.
    source§

    impl<T> From<Vec<T>> for Interned<[T]>where + [T]: Internable,

    source§

    fn from(vec: Vec<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T: Internable + ?Sized> Hash for Interned<T>

    source§

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<'a, T> IntoIterator for &'a Interned<[T]>where [T]: Internable,

    §

    type Item = &'a T

    The type of the elements being iterated over.
    §

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source§

    fn into_iter(self) -> Self::IntoIter

    Creates an iterator from a value. Read more
    source§

    impl<T: Ord + Internable> Ord for Interned<T>

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere @@ -102,4 +102,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/intern/trait.Internable.html b/doc/flux_middle/intern/trait.Internable.html index 1194d4ec55..fc9fd6591c 100644 --- a/doc/flux_middle/intern/trait.Internable.html +++ b/doc/flux_middle/intern/trait.Internable.html @@ -2,4 +2,4 @@ // Required method fn storage() -> &'static InternStorage<Self>; }

    Required Methods§

    source

    fn storage() -> &'static InternStorage<Self>

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl Internable for [Sort]

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl<T> Internable for [T]where - T: SliceInternable,

    source§

    fn storage() -> &'static InternStorage<Self>

    Implementors§

    source§

    impl Internable for ExprS

    source§

    impl Internable for flux_middle::rty::AdtDefData

    source§

    impl Internable for flux_middle::rty::TyS

    source§

    impl Internable for flux_middle::rustc::ty::AdtDefData

    source§

    impl Internable for flux_middle::rustc::ty::TyS

    \ No newline at end of file + T: SliceInternable,
    source§

    fn storage() -> &'static InternStorage<Self>

    Implementors§

    source§

    impl Internable for ExprS

    source§

    impl Internable for flux_middle::rty::AdtDefData

    source§

    impl Internable for flux_middle::rty::TyS

    source§

    impl Internable for flux_middle::rustc::ty::AdtDefData

    source§

    impl Internable for flux_middle::rustc::ty::TyS

    \ No newline at end of file diff --git a/doc/flux_middle/intern/trait.SliceInternable.html b/doc/flux_middle/intern/trait.SliceInternable.html index 7021219db8..b19bc4fa5d 100644 --- a/doc/flux_middle/intern/trait.SliceInternable.html +++ b/doc/flux_middle/intern/trait.SliceInternable.html @@ -1,4 +1,4 @@ SliceInternable in flux_middle::intern - Rust
    pub trait SliceInternable: Hash + Eq + 'static + Sized {
         // Required method
         fn storage() -> &'static InternStorage<[Self]>;
    -}

    Required Methods§

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl SliceInternable for u32

    Implementors§

    \ No newline at end of file +}

    Required Methods§

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl SliceInternable for u32

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/intern/type.List.html b/doc/flux_middle/intern/type.List.html index b1f1c92760..dc19dab906 100644 --- a/doc/flux_middle/intern/type.List.html +++ b/doc/flux_middle/intern/type.List.html @@ -4,7 +4,7 @@ [T]: Internable,
    source

    fn list_with<S>(obj: S, to_arc: impl FnOnce(S) -> Arc<[T]>) -> List<T>where S: Borrow<[T]>,

    source

    pub fn from_vec(vec: Vec<T>) -> List<T>

    source

    pub fn from_arr<const N: usize>(arr: [T; N]) -> List<T>

    source

    pub fn empty() -> List<T>

    source

    pub fn singleton(x: T) -> List<T>

    source§

    impl<T> List<T>where T: Clone, - [T]: Internable,

    source

    pub fn from_slice(slice: &[T]) -> List<T>

    source§

    impl List<BoundVariableKind>

    source

    pub fn to_sort_list(&self) -> List<Sort>

    Trait Implementations§

    source§

    impl<T> FromIterator<T> for List<T>where + [T]: Internable,

    source

    pub fn from_slice(slice: &[T]) -> List<T>

    source§

    impl List<BoundVariableKind>

    source

    pub fn to_sort_list(&self) -> List<Sort>

    Trait Implementations§

    source§

    impl<T> FromIterator<T> for List<T>where [T]: Internable,

    source§

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Creates a value from an iterator. Read more
    source§

    impl<T> Ord for List<T>where T: Ord, [T]: Internable,

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere @@ -14,28 +14,28 @@ T: PartialOrd, [T]: Internable,

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for List<Ty>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl<T> Subst for List<T>where +operator. Read more

    source§

    impl Pretty for List<Ty>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl<T> Subst for List<T>where T: Subst, - [T]: Internable,

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl<T> TypeFoldable for List<T>where + [T]: Internable,

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl<T> TypeFoldable for List<T>where T: TypeFoldable, - [T]: Internable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>( + [T]: Internable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T> TypeVisitable for List<T>where +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T> TypeVisitable for List<T>where T: TypeVisitable, - [T]: Internable,

    source§

    fn visit_with<V: TypeVisitor>( + [T]: Internable,

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file +) -> ControlFlow<V::BreakTy, ()>
    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file diff --git a/doc/flux_middle/macro._Bool.html b/doc/flux_middle/macro._Bool.html index 2a8d6b92fc..0871cf9ea2 100644 --- a/doc/flux_middle/macro._Bool.html +++ b/doc/flux_middle/macro._Bool.html @@ -1,3 +1,3 @@ -_Bool in flux_middle - Rust

    Macro flux_middle::_Bool

    source ·
    macro_rules! _Bool {
    +_Bool in flux_middle - Rust

    Macro flux_middle::_Bool

    source ·
    macro_rules! _Bool {
         ($idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/macro._Float.html b/doc/flux_middle/macro._Float.html index ab54cf65c1..f88f37693f 100644 --- a/doc/flux_middle/macro._Float.html +++ b/doc/flux_middle/macro._Float.html @@ -1,3 +1,3 @@ -_Float in flux_middle - Rust

    Macro flux_middle::_Float

    source ·
    macro_rules! _Float {
    +_Float in flux_middle - Rust

    Macro flux_middle::_Float

    source ·
    macro_rules! _Float {
         ($float_ty:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/macro._Int.html b/doc/flux_middle/macro._Int.html index 736692f9be..142f1dd71f 100644 --- a/doc/flux_middle/macro._Int.html +++ b/doc/flux_middle/macro._Int.html @@ -1,3 +1,3 @@ -_Int in flux_middle - Rust

    Macro flux_middle::_Int

    source ·
    macro_rules! _Int {
    +_Int in flux_middle - Rust

    Macro flux_middle::_Int

    source ·
    macro_rules! _Int {
         ($int_ty:pat, $idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/macro._Ref.html b/doc/flux_middle/macro._Ref.html index 9f143dc087..f77f6923f2 100644 --- a/doc/flux_middle/macro._Ref.html +++ b/doc/flux_middle/macro._Ref.html @@ -1,3 +1,3 @@ -_Ref in flux_middle - Rust

    Macro flux_middle::_Ref

    source ·
    macro_rules! _Ref {
    +_Ref in flux_middle - Rust

    Macro flux_middle::_Ref

    source ·
    macro_rules! _Ref {
         ($($pats:pat),+ $(,)?) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/macro._Uint.html b/doc/flux_middle/macro._Uint.html index c7a753aa61..177dbed1dd 100644 --- a/doc/flux_middle/macro._Uint.html +++ b/doc/flux_middle/macro._Uint.html @@ -1,3 +1,3 @@ -_Uint in flux_middle - Rust

    Macro flux_middle::_Uint

    source ·
    macro_rules! _Uint {
    +_Uint in flux_middle - Rust

    Macro flux_middle::_Uint

    source ·
    macro_rules! _Uint {
         ($uint_ty:pat, $idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/pretty/struct.Join.html b/doc/flux_middle/pretty/struct.Join.html index 54cffb3bd2..53c2ba0e3f 100644 --- a/doc/flux_middle/pretty/struct.Join.html +++ b/doc/flux_middle/pretty/struct.Join.html @@ -3,9 +3,9 @@ iter: RefCell<Option<I>>, }

    Fields§

    §sep: &'a str§iter: RefCell<Option<I>>

    Implementations§

    source§

    impl<'a, I> Join<'a, I>

    source

    pub fn new<T: IntoIterator<IntoIter = I>>(sep: &'a str, iter: T) -> Self

    Trait Implementations§

    source§

    impl<T, I> Debug for Join<'_, I>where T: Debug, - I: Iterator<Item = T>,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, I> Pretty for Join<'_, I>where + I: Iterator<Item = T>,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, I> Pretty for Join<'_, I>where T: Pretty, - I: Iterator<Item = T>,

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    §

    impl<'a, I> !RefUnwindSafe for Join<'a, I>

    §

    impl<'a, I> Send for Join<'a, I>where + I: Iterator<Item = T>,

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    §

    impl<'a, I> !RefUnwindSafe for Join<'a, I>

    §

    impl<'a, I> Send for Join<'a, I>where I: Send,

    §

    impl<'a, I> !Sync for Join<'a, I>

    §

    impl<'a, I> Unpin for Join<'a, I>where I: Unpin,

    §

    impl<'a, I> UnwindSafe for Join<'a, I>where I: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_middle/pretty/trait.Pretty.html b/doc/flux_middle/pretty/trait.Pretty.html index b8314b5831..b330a2f8f3 100644 --- a/doc/flux_middle/pretty/trait.Pretty.html +++ b/doc/flux_middle/pretty/trait.Pretty.html @@ -4,8 +4,8 @@ // Provided method fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_> { ... } -}

    Required Methods§

    source

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    Provided Methods§

    source

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl Pretty for DefId

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    impl Pretty for Span

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    impl<T: Pretty + ?Sized> Pretty for &T

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    Implementors§

    Required Methods§

    source

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    Provided Methods§

    source

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl Pretty for DefId

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    impl Pretty for Span

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    impl<T: Pretty + ?Sized> Pretty for &T

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/enum.AliasKind.html b/doc/flux_middle/rty/enum.AliasKind.html index aba75299c6..fea85956bb 100644 --- a/doc/flux_middle/rty/enum.AliasKind.html +++ b/doc/flux_middle/rty/enum.AliasKind.html @@ -1,11 +1,11 @@ -AliasKind in flux_middle::rty - Rust
    pub enum AliasKind {
    +AliasKind in flux_middle::rty - Rust
    pub enum AliasKind {
         Projection,
         Opaque,
    -}

    Variants§

    §

    Projection

    §

    Opaque

    Trait Implementations§

    source§

    impl Clone for AliasKind

    source§

    fn clone(&self) -> AliasKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AliasKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AliasKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AliasKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AliasKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Projection

    §

    Opaque

    Trait Implementations§

    source§

    impl Clone for AliasKind

    source§

    fn clone(&self) -> AliasKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AliasKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AliasKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AliasKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AliasKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasKind

    source§

    fn eq(&self, other: &AliasKind) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasKind

    source§

    fn eq(&self, other: &AliasKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for AliasKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for AliasKind

    source§

    impl Eq for AliasKind

    source§

    impl StructuralEq for AliasKind

    source§

    impl StructuralPartialEq for AliasKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for AliasKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for AliasKind

    source§

    impl Eq for AliasKind

    source§

    impl StructuralEq for AliasKind

    source§

    impl StructuralPartialEq for AliasKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.BaseTy.html b/doc/flux_middle/rty/enum.BaseTy.html index d198b7f4ed..97a5daad75 100644 --- a/doc/flux_middle/rty/enum.BaseTy.html +++ b/doc/flux_middle/rty/enum.BaseTy.html @@ -1,4 +1,4 @@ -BaseTy in flux_middle::rty - Rust

    Enum flux_middle::rty::BaseTy

    source ·
    pub enum BaseTy {
    +BaseTy in flux_middle::rty - Rust

    Enum flux_middle::rty::BaseTy

    source ·
    pub enum BaseTy {
     
    Show 17 variants Int(IntTy), Uint(UintTy), Bool, @@ -16,35 +16,35 @@ Coroutine(DefId, GenericArgs), CoroutineWitness(DefId, GenericArgs), Param(ParamTy), -
    }

    Variants§

    §

    Int(IntTy)

    §

    Uint(UintTy)

    §

    Bool

    §

    Str

    §

    Char

    §

    Slice(Ty)

    §

    Adt(AdtDef, GenericArgs)

    §

    Float(FloatTy)

    §

    RawPtr(Ty, Mutability)

    §

    Ref(Region, Ty, Mutability)

    §

    Tuple(List<Ty>)

    §

    Array(Ty, Const)

    §

    Never

    §

    Closure(DefId, List<Ty>)

    §

    Coroutine(DefId, GenericArgs)

    §

    CoroutineWitness(DefId, GenericArgs)

    §

    Param(ParamTy)

    Implementations§

    source§

    impl BaseTy

    source

    pub fn adt(adt_def: AdtDef, args: impl Into<GenericArgs>) -> BaseTy

    source

    pub fn slice(ty: Ty) -> BaseTy

    source

    fn is_integral(&self) -> bool

    source

    fn is_bool(&self) -> bool

    source

    fn is_struct(&self) -> bool

    source

    fn is_closure(&self) -> bool

    source

    fn is_tuple(&self) -> bool

    source

    fn is_array(&self) -> bool

    source

    fn is_slice(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    source

    pub fn invariants(&self, overflow_checking: bool) -> &[Invariant]

    source

    fn into_ty(self) -> Ty

    source

    pub fn sort(&self) -> Sort

    Trait Implementations§

    source§

    impl Clone for BaseTy

    source§

    fn clone(&self) -> BaseTy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BaseTy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for BaseTy

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for BaseTy

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for BaseTy

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    }

    Variants§

    §

    Int(IntTy)

    §

    Uint(UintTy)

    §

    Bool

    §

    Str

    §

    Char

    §

    Slice(Ty)

    §

    Adt(AdtDef, GenericArgs)

    §

    Float(FloatTy)

    §

    RawPtr(Ty, Mutability)

    §

    Ref(Region, Ty, Mutability)

    §

    Tuple(List<Ty>)

    §

    Array(Ty, Const)

    §

    Never

    §

    Closure(DefId, List<Ty>)

    §

    Coroutine(DefId, GenericArgs)

    §

    CoroutineWitness(DefId, GenericArgs)

    §

    Param(ParamTy)

    Implementations§

    source§

    impl BaseTy

    source

    pub fn adt(adt_def: AdtDef, args: impl Into<GenericArgs>) -> BaseTy

    source

    pub fn slice(ty: Ty) -> BaseTy

    source

    fn is_integral(&self) -> bool

    source

    fn is_bool(&self) -> bool

    source

    fn is_struct(&self) -> bool

    source

    fn is_closure(&self) -> bool

    source

    fn is_tuple(&self) -> bool

    source

    fn is_array(&self) -> bool

    source

    fn is_slice(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    source

    pub fn invariants(&self, overflow_checking: bool) -> &[Invariant]

    source

    fn into_ty(self) -> Ty

    source

    pub fn sort(&self) -> Sort

    Trait Implementations§

    source§

    impl Clone for BaseTy

    source§

    fn clone(&self) -> BaseTy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BaseTy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for BaseTy

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for BaseTy

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for BaseTy

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BaseTy

    source§

    fn eq(&self, other: &BaseTy) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BaseTy

    source§

    fn eq(&self, other: &BaseTy) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for BaseTy

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for BaseTy

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for BaseTy

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for BaseTy

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for BaseTy

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for BaseTy

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for BaseTy

    source§

    fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for BaseTy

    source§

    impl TypeVisitable for BaseTy

    source§

    impl TypeVisitable for BaseTy

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for BaseTy

    source§

    impl StructuralEq for BaseTy

    source§

    impl StructuralPartialEq for BaseTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for BaseTy

    source§

    impl StructuralEq for BaseTy

    source§

    impl StructuralPartialEq for BaseTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.BinOp.html b/doc/flux_middle/rty/enum.BinOp.html index e9876391b8..697f22b225 100644 --- a/doc/flux_middle/rty/enum.BinOp.html +++ b/doc/flux_middle/rty/enum.BinOp.html @@ -1,4 +1,4 @@ -BinOp in flux_middle::rty - Rust

    Enum flux_middle::rty::BinOp

    source ·
    pub enum BinOp {
    +BinOp in flux_middle::rty - Rust

    Enum flux_middle::rty::BinOp

    source ·
    pub enum BinOp {
     
    Show 15 variants Iff, Imp, Or, @@ -14,12 +14,12 @@ Mul, Div, Mod, -
    }

    Variants§

    §

    Iff

    §

    Imp

    §

    Or

    §

    And

    §

    Eq

    §

    Ne

    §

    Gt

    §

    Ge

    §

    Lt

    §

    Le

    §

    Add

    §

    Sub

    §

    Mul

    §

    Div

    §

    Mod

    Trait Implementations§

    source§

    impl Clone for BinOp

    source§

    fn clone(&self) -> BinOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BinOp

    source§

    fn hash<__H>(&self, state: &mut __H)where +

    }

    Variants§

    §

    Iff

    §

    Imp

    §

    Or

    §

    And

    §

    Eq

    §

    Ne

    §

    Gt

    §

    Ge

    §

    Lt

    §

    Le

    §

    Add

    §

    Sub

    §

    Mul

    §

    Div

    §

    Mod

    Trait Implementations§

    source§

    impl Clone for BinOp

    source§

    fn clone(&self) -> BinOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BinOp

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BinOp

    source§

    fn eq(&self, other: &BinOp) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BinOp

    source§

    fn eq(&self, other: &BinOp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for BinOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    source§

    impl StructuralEq for BinOp

    source§

    impl StructuralPartialEq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl Send for BinOp

    §

    impl Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for BinOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    source§

    impl StructuralEq for BinOp

    source§

    impl StructuralPartialEq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl Send for BinOp

    §

    impl Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -35,4 +35,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/enum.BoundRegionKind.html b/doc/flux_middle/rty/enum.BoundRegionKind.html index 19c1617fde..3ba29c8fc3 100644 --- a/doc/flux_middle/rty/enum.BoundRegionKind.html +++ b/doc/flux_middle/rty/enum.BoundRegionKind.html @@ -8,7 +8,7 @@ the event of shadowing.

    §

    BrEnv

    Anonymous region for the implicit env pointer parameter to a closure

    -

    Trait Implementations§

    source§

    impl Pretty for BoundRegionKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Pretty for BoundRegionKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.BoundVariableKind.html b/doc/flux_middle/rty/enum.BoundVariableKind.html index 5f864f8e2c..59592b8424 100644 --- a/doc/flux_middle/rty/enum.BoundVariableKind.html +++ b/doc/flux_middle/rty/enum.BoundVariableKind.html @@ -1,26 +1,26 @@ -BoundVariableKind in flux_middle::rty - Rust
    pub enum BoundVariableKind {
    +BoundVariableKind in flux_middle::rty - Rust
    pub enum BoundVariableKind {
         Region(BoundRegionKind),
         Refine(Sort, InferMode),
    -}

    Variants§

    Implementations§

    Trait Implementations§

    source§

    impl Clone for BoundVariableKind

    source§

    fn clone(&self) -> BoundVariableKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BoundVariableKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for BoundVariableKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for BoundVariableKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for BoundVariableKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    Implementations§

    Trait Implementations§

    source§

    impl Clone for BoundVariableKind

    source§

    fn clone(&self) -> BoundVariableKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BoundVariableKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for BoundVariableKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for BoundVariableKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for BoundVariableKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BoundVariableKind

    source§

    fn eq(&self, other: &BoundVariableKind) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BoundVariableKind

    source§

    fn eq(&self, other: &BoundVariableKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for BoundVariableKind

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for BoundVariableKind

    source§

    impl TypeFoldable for BoundVariableKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for BoundVariableKind

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for BoundVariableKind

    source§

    impl TypeFoldable for BoundVariableKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for BoundVariableKind

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for BoundVariableKind

    source§

    impl StructuralEq for BoundVariableKind

    source§

    impl StructuralPartialEq for BoundVariableKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for BoundVariableKind

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for BoundVariableKind

    source§

    impl StructuralEq for BoundVariableKind

    source§

    impl StructuralPartialEq for BoundVariableKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.ClauseKind.html b/doc/flux_middle/rty/enum.ClauseKind.html index 47cdaa3108..8f4d3a2614 100644 --- a/doc/flux_middle/rty/enum.ClauseKind.html +++ b/doc/flux_middle/rty/enum.ClauseKind.html @@ -1,28 +1,29 @@ -ClauseKind in flux_middle::rty - Rust
    pub enum ClauseKind {
    +ClauseKind in flux_middle::rty - Rust
    pub enum ClauseKind {
         FnTrait(FnTraitPredicate),
         Trait(TraitPredicate),
         Projection(ProjectionPredicate),
    +    TypeOutlives(TypeOutlivesPredicate),
         GeneratorOblig(GeneratorObligPredicate),
    -}

    Variants§

    Trait Implementations§

    source§

    impl Clone for ClauseKind

    source§

    fn clone(&self) -> ClauseKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ClauseKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ClauseKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    Trait Implementations§

    source§

    impl Clone for ClauseKind

    source§

    fn clone(&self) -> ClauseKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ClauseKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ClauseKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ClauseKind

    source§

    fn eq(&self, other: &ClauseKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for ClauseKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for ClauseKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for ClauseKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for ClauseKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for ClauseKind

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for ClauseKind

    source§

    impl StructuralEq for ClauseKind

    source§

    impl StructuralPartialEq for ClauseKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for ClauseKind

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for ClauseKind

    source§

    impl StructuralEq for ClauseKind

    source§

    impl StructuralPartialEq for ClauseKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.ClosureKind.html b/doc/flux_middle/rty/enum.ClosureKind.html index f8b629ba85..684dcfe2b6 100644 --- a/doc/flux_middle/rty/enum.ClosureKind.html +++ b/doc/flux_middle/rty/enum.ClosureKind.html @@ -1,4 +1,4 @@ -ClosureKind in flux_middle::rty - Rust

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/enum.Constant.html b/doc/flux_middle/rty/enum.Constant.html index 914f0e4916..e3dcd948e2 100644 --- a/doc/flux_middle/rty/enum.Constant.html +++ b/doc/flux_middle/rty/enum.Constant.html @@ -1,16 +1,16 @@ -Constant in flux_middle::rty - Rust
    pub enum Constant {
    +Constant in flux_middle::rty - Rust
    pub enum Constant {
         Int(BigInt),
         Real(i128),
         Bool(bool),
    -}

    Variants§

    §

    Int(BigInt)

    §

    Real(i128)

    §

    Bool(bool)

    Implementations§

    source§

    impl Constant

    source

    pub const ZERO: Constant = _

    source

    pub const ONE: Constant = _

    source

    pub fn iff(&self, other: &Constant) -> Option<Constant>

    source

    pub fn imp(&self, other: &Constant) -> Option<Constant>

    source

    pub fn or(&self, other: &Constant) -> Option<Constant>

    source

    pub fn and(&self, other: &Constant) -> Option<Constant>

    source

    pub fn eq(&self, other: &Constant) -> Constant

    source

    pub fn ne(&self, other: &Constant) -> Constant

    source

    pub fn gt(&self, other: &Constant) -> Option<Constant>

    source

    pub fn ge(&self, other: &Constant) -> Option<Constant>

    source

    pub fn int_min(bit_width: u32) -> Constant

    source

    pub fn int_max(bit_width: u32) -> Constant

    source

    pub fn uint_max(bit_width: u32) -> Constant

    Trait Implementations§

    source§

    impl Clone for Constant

    source§

    fn clone(&self) -> Constant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl From<bool> for Constant

    source§

    fn from(b: bool) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i128> for Constant

    source§

    fn from(c: i128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i32> for Constant

    source§

    fn from(c: i32) -> Constant

    Converts to this type from the input type.
    source§

    impl From<u128> for Constant

    source§

    fn from(c: u128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<usize> for Constant

    source§

    fn from(u: usize) -> Constant

    Converts to this type from the input type.
    source§

    impl Hash for Constant

    source§

    fn hash<__H>(&self, state: &mut __H)where +}

    Variants§

    §

    Int(BigInt)

    §

    Real(i128)

    §

    Bool(bool)

    Implementations§

    source§

    impl Constant

    source

    pub const ZERO: Constant = _

    source

    pub const ONE: Constant = _

    source

    pub fn iff(&self, other: &Constant) -> Option<Constant>

    source

    pub fn imp(&self, other: &Constant) -> Option<Constant>

    source

    pub fn or(&self, other: &Constant) -> Option<Constant>

    source

    pub fn and(&self, other: &Constant) -> Option<Constant>

    source

    pub fn eq(&self, other: &Constant) -> Constant

    source

    pub fn ne(&self, other: &Constant) -> Constant

    source

    pub fn gt(&self, other: &Constant) -> Option<Constant>

    source

    pub fn ge(&self, other: &Constant) -> Option<Constant>

    source

    pub fn int_min(bit_width: u32) -> Constant

    source

    pub fn int_max(bit_width: u32) -> Constant

    source

    pub fn uint_max(bit_width: u32) -> Constant

    Trait Implementations§

    source§

    impl Clone for Constant

    source§

    fn clone(&self) -> Constant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl From<bool> for Constant

    source§

    fn from(b: bool) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i128> for Constant

    source§

    fn from(c: i128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i32> for Constant

    source§

    fn from(c: i32) -> Constant

    Converts to this type from the input type.
    source§

    impl From<u128> for Constant

    source§

    fn from(c: u128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<usize> for Constant

    source§

    fn from(u: usize) -> Constant

    Converts to this type from the input type.
    source§

    impl Hash for Constant

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Constant

    source§

    fn eq(&self, other: &Constant) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Constant

    source§

    fn eq(&self, other: &Constant) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Copy for Constant

    source§

    impl Eq for Constant

    source§

    impl StructuralEq for Constant

    source§

    impl StructuralPartialEq for Constant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for Constant

    source§

    impl Eq for Constant

    source§

    impl StructuralEq for Constant

    source§

    impl StructuralPartialEq for Constant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -26,4 +26,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/enum.Constraint.html b/doc/flux_middle/rty/enum.Constraint.html index e6bee54d9b..eed24c3a97 100644 --- a/doc/flux_middle/rty/enum.Constraint.html +++ b/doc/flux_middle/rty/enum.Constraint.html @@ -1,29 +1,29 @@ -Constraint in flux_middle::rty - Rust
    pub enum Constraint {
    +Constraint in flux_middle::rty - Rust
    pub enum Constraint {
         Type(Path, Ty),
         Pred(Expr),
    -}

    Variants§

    §

    Type(Path, Ty)

    §

    Pred(Expr)

    Trait Implementations§

    source§

    impl Clone for Constraint

    source§

    fn clone(&self) -> Constraint

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constraint

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Constraint

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Constraint

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Constraint

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Type(Path, Ty)

    §

    Pred(Expr)

    Trait Implementations§

    source§

    impl Clone for Constraint

    source§

    fn clone(&self) -> Constraint

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constraint

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Constraint

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Constraint

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Constraint

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Constraint

    source§

    fn eq(&self, other: &Constraint) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Constraint

    source§

    fn eq(&self, other: &Constraint) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Constraint

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for Constraint

    source§

    impl TypeFoldable for Constraint

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Constraint

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for Constraint

    source§

    impl TypeFoldable for Constraint

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Constraint

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Constraint

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Constraint

    source§

    impl StructuralEq for Constraint

    source§

    impl StructuralPartialEq for Constraint

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Constraint

    source§

    impl StructuralEq for Constraint

    source§

    impl StructuralPartialEq for Constraint

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.GenericArg.html b/doc/flux_middle/rty/enum.GenericArg.html index 67d2bcfeb7..daf9142d0c 100644 --- a/doc/flux_middle/rty/enum.GenericArg.html +++ b/doc/flux_middle/rty/enum.GenericArg.html @@ -1,31 +1,31 @@ -GenericArg in flux_middle::rty - Rust
    pub enum GenericArg {
    +GenericArg in flux_middle::rty - Rust
    pub enum GenericArg {
         Ty(Ty),
         BaseTy(Binder<Ty>),
         Lifetime(Region),
         Const(Const),
    -}

    Variants§

    §

    Ty(Ty)

    §

    BaseTy(Binder<Ty>)

    §

    Lifetime(Region)

    §

    Const(Const)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for GenericArg

    source§

    fn clone(&self) -> GenericArg

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GenericArg

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for GenericArg

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for GenericArg

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for GenericArg

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Ty(Ty)

    §

    BaseTy(Binder<Ty>)

    §

    Lifetime(Region)

    §

    Const(Const)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for GenericArg

    source§

    fn clone(&self) -> GenericArg

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GenericArg

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for GenericArg

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for GenericArg

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for GenericArg

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GenericArg

    source§

    fn eq(&self, other: &GenericArg) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GenericArg

    source§

    fn eq(&self, other: &GenericArg) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for GenericArg

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for GenericArg

    source§

    impl TypeFoldable for GenericArg

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for GenericArg

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for GenericArg

    source§

    impl TypeFoldable for GenericArg

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for GenericArg

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for GenericArg

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for GenericArg

    source§

    impl StructuralEq for GenericArg

    source§

    impl StructuralPartialEq for GenericArg

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for GenericArg

    source§

    impl StructuralEq for GenericArg

    source§

    impl StructuralPartialEq for GenericArg

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.HoleKind.html b/doc/flux_middle/rty/enum.HoleKind.html index 509d80a89b..e981702412 100644 --- a/doc/flux_middle/rty/enum.HoleKind.html +++ b/doc/flux_middle/rty/enum.HoleKind.html @@ -11,25 +11,25 @@ H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for HoleKind

    source§

    fn eq(&self, other: &HoleKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for HoleKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for HoleKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for HoleKind

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for HoleKind

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for HoleKind

    source§

    impl StructuralEq for HoleKind

    source§

    impl StructuralPartialEq for HoleKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for HoleKind

    source§

    impl StructuralEq for HoleKind

    source§

    impl StructuralPartialEq for HoleKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.Loc.html b/doc/flux_middle/rty/enum.Loc.html index d69a957ec0..a5d7567bf1 100644 --- a/doc/flux_middle/rty/enum.Loc.html +++ b/doc/flux_middle/rty/enum.Loc.html @@ -1,7 +1,7 @@ Loc in flux_middle::rty - Rust

    Enum flux_middle::rty::Loc

    source ·
    pub enum Loc {
         Local(Local),
         Var(Var),
    -}

    Variants§

    §

    Local(Local)

    §

    Var(Var)

    Implementations§

    source§

    impl Loc

    source

    pub fn to_expr(&self) -> Expr

    Trait Implementations§

    source§

    impl Clone for Loc

    source§

    fn clone(&self) -> Loc

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Loc

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Loc

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Loc

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Local> for Loc

    source§

    fn from(local: Local) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Loc

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Local(Local)

    §

    Var(Var)

    Implementations§

    source§

    impl Loc

    source

    pub fn to_expr(&self) -> Expr

    Trait Implementations§

    source§

    impl Clone for Loc

    source§

    fn clone(&self) -> Loc

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Loc

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Loc

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Loc

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Local> for Loc

    source§

    fn from(local: Local) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Loc

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for Loc

    source§

    fn cmp(&self, other: &Loc) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere @@ -10,7 +10,7 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for Loc

    source§

    fn partial_cmp(&self, other: &Loc) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for Loc

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Loc

    source§

    impl StructuralEq for Loc

    source§

    impl StructuralPartialEq for Loc

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Loc

    §

    impl Send for Loc

    §

    impl Sync for Loc

    §

    impl Unpin for Loc

    §

    impl UnwindSafe for Loc

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +operator. Read more

    source§

    impl Pretty for Loc

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Loc

    source§

    impl StructuralEq for Loc

    source§

    impl StructuralPartialEq for Loc

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Loc

    §

    impl Send for Loc

    §

    impl Sync for Loc

    §

    impl Unpin for Loc

    §

    impl UnwindSafe for Loc

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.Opaqueness.html b/doc/flux_middle/rty/enum.Opaqueness.html index 8a543853c8..92895280d6 100644 --- a/doc/flux_middle/rty/enum.Opaqueness.html +++ b/doc/flux_middle/rty/enum.Opaqueness.html @@ -1,30 +1,30 @@ -Opaqueness in flux_middle::rty - Rust
    pub enum Opaqueness<T> {
    +Opaqueness in flux_middle::rty - Rust
    pub enum Opaqueness<T> {
         Opaque,
         Transparent(T),
     }
    Expand description

    Option-like enum to explicitly mark that we don’t have information about an ADT because it was annotated with #[flux::opaque]. Note that only structs can be marked as opaque.

    -

    Variants§

    §

    Opaque

    §

    Transparent(T)

    Implementations§

    source§

    impl<T> Opaqueness<T>

    source

    pub fn map<S>(self, f: impl FnOnce(T) -> S) -> Opaqueness<S>

    source

    pub fn as_ref(&self) -> Opaqueness<&T>

    source

    pub fn as_deref(&self) -> Opaqueness<&T::Target>where - T: Deref,

    source

    pub fn ok_or_else<E>(self, err: impl FnOnce() -> E) -> Result<T, E>

    source

    pub fn expect(self, msg: &str) -> T

    source§

    impl<T, E> Opaqueness<Result<T, E>>

    source

    pub fn transpose(self) -> Result<Opaqueness<T>, E>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Opaqueness<T>

    source§

    fn clone(&self) -> Opaqueness<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for Opaqueness<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for Opaqueness<T>where - T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: TyEncoder> Encodable<__E> for Opaqueness<T>where - T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl<T: TypeFoldable> TypeFoldable for Opaqueness<T>

    Variants§

    §

    Opaque

    §

    Transparent(T)

    Implementations§

    source§

    impl<T> Opaqueness<T>

    source

    pub fn map<S>(self, f: impl FnOnce(T) -> S) -> Opaqueness<S>

    source

    pub fn as_ref(&self) -> Opaqueness<&T>

    source

    pub fn as_deref(&self) -> Opaqueness<&T::Target>where + T: Deref,

    source

    pub fn ok_or_else<E>(self, err: impl FnOnce() -> E) -> Result<T, E>

    source

    pub fn expect(self, msg: &str) -> T

    source§

    impl<T, E> Opaqueness<Result<T, E>>

    source

    pub fn transpose(self) -> Result<Opaqueness<T>, E>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Opaqueness<T>

    source§

    fn clone(&self) -> Opaqueness<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for Opaqueness<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for Opaqueness<T>where + T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: TyEncoder> Encodable<__E> for Opaqueness<T>where + T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl<T: TypeFoldable> TypeFoldable for Opaqueness<T>

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T: TypeVisitable> TypeVisitable for Opaqueness<T>

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T: TypeVisitable> TypeVisitable for Opaqueness<T>

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Opaqueness<T>where +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Opaqueness<T>where T: RefUnwindSafe,

    §

    impl<T> Send for Opaqueness<T>where T: Send,

    §

    impl<T> Sync for Opaqueness<T>where T: Sync,

    §

    impl<T> Unpin for Opaqueness<T>where diff --git a/doc/flux_middle/rty/enum.PtrKind.html b/doc/flux_middle/rty/enum.PtrKind.html index 1cbf2d050d..3a2a6a0b89 100644 --- a/doc/flux_middle/rty/enum.PtrKind.html +++ b/doc/flux_middle/rty/enum.PtrKind.html @@ -1,12 +1,12 @@ -PtrKind in flux_middle::rty - Rust

    Enum flux_middle::rty::PtrKind

    source ·
    pub enum PtrKind {
    +PtrKind in flux_middle::rty - Rust

    Enum flux_middle::rty::PtrKind

    source ·
    pub enum PtrKind {
         Shr(Region),
         Mut(Region),
         Box,
    -}

    Variants§

    §

    Shr(Region)

    §

    Mut(Region)

    §

    Box

    Implementations§

    source§

    impl PtrKind

    source

    pub fn from_ref(r: Region, m: Mutability) -> Self

    Trait Implementations§

    source§

    impl Clone for PtrKind

    source§

    fn clone(&self) -> PtrKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PtrKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for PtrKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for PtrKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for PtrKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Shr(Region)

    §

    Mut(Region)

    §

    Box

    Implementations§

    source§

    impl PtrKind

    source

    pub fn from_ref(r: Region, m: Mutability) -> Self

    Trait Implementations§

    source§

    impl Clone for PtrKind

    source§

    fn clone(&self) -> PtrKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PtrKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for PtrKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for PtrKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for PtrKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for PtrKind

    source§

    fn eq(&self, other: &PtrKind) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for PtrKind

    source§

    fn eq(&self, other: &PtrKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for PtrKind

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for PtrKind

    source§

    impl Eq for PtrKind

    source§

    impl StructuralEq for PtrKind

    source§

    impl StructuralPartialEq for PtrKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for PtrKind

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for PtrKind

    source§

    impl Eq for PtrKind

    source§

    impl StructuralEq for PtrKind

    source§

    impl StructuralPartialEq for PtrKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.Sort.html b/doc/flux_middle/rty/enum.Sort.html index e1e51357f0..8d132736aa 100644 --- a/doc/flux_middle/rty/enum.Sort.html +++ b/doc/flux_middle/rty/enum.Sort.html @@ -1,4 +1,4 @@ -Sort in flux_middle::rty - Rust

    Enum flux_middle::rty::Sort

    source ·
    pub enum Sort {
    +Sort in flux_middle::rty - Rust

    Enum flux_middle::rty::Sort

    source ·
    pub enum Sort {
         Int,
         Bool,
         Real,
    @@ -9,31 +9,31 @@
         Func(PolyFuncSort),
         App(SortCtor, List<Sort>),
         Var(SortVar),
    -}

    Variants§

    §

    Int

    §

    Bool

    §

    Real

    §

    BitVec(usize)

    §

    Loc

    §

    Param(ParamTy)

    §

    Tuple(List<Sort>)

    §

    Func(PolyFuncSort)

    §

    App(SortCtor, List<Sort>)

    §

    Var(SortVar)

    Implementations§

    source§

    impl Sort

    source

    pub fn tuple(sorts: impl Into<List<Sort>>) -> Self

    source

    pub fn app(ctor: SortCtor, sorts: impl Into<List<Sort>>) -> Self

    source

    pub fn unit() -> Self

    source

    pub fn expect_func(&self) -> &PolyFuncSort

    source

    pub fn default_infer_mode(&self) -> InferMode

    source

    pub fn is_unit(&self) -> bool

    source

    fn is_pred(&self) -> bool

    Whether the sort is a function with return sort bool

    -
    source

    fn is_bool(&self) -> bool

    Returns true if the sort is Bool.

    -
    source

    pub fn flatten(&self) -> Vec<Sort>

    source

    pub fn walk(&self, f: impl FnMut(&Sort, &[u32]))

    Trait Implementations§

    source§

    impl Clone for Sort

    source§

    fn clone(&self) -> Sort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Sort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Sort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Sort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Sort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Int

    §

    Bool

    §

    Real

    §

    BitVec(usize)

    §

    Loc

    §

    Param(ParamTy)

    §

    Tuple(List<Sort>)

    §

    Func(PolyFuncSort)

    §

    App(SortCtor, List<Sort>)

    §

    Var(SortVar)

    Implementations§

    source§

    impl Sort

    source

    pub fn tuple(sorts: impl Into<List<Sort>>) -> Self

    source

    pub fn app(ctor: SortCtor, sorts: impl Into<List<Sort>>) -> Self

    source

    pub fn unit() -> Self

    source

    pub fn expect_func(&self) -> &PolyFuncSort

    source

    pub fn default_infer_mode(&self) -> InferMode

    source

    pub fn is_unit(&self) -> bool

    source

    fn is_pred(&self) -> bool

    Whether the sort is a function with return sort bool

    +
    source

    fn is_bool(&self) -> bool

    Returns true if the sort is Bool.

    +
    source

    pub fn flatten(&self) -> Vec<Sort>

    source

    pub fn walk(&self, f: impl FnMut(&Sort, &[u32]))

    Trait Implementations§

    source§

    impl Clone for Sort

    source§

    fn clone(&self) -> Sort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Sort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Sort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Sort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Sort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Sort

    source§

    fn eq(&self, other: &Sort) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Sort

    source§

    fn eq(&self, other: &Sort) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Sort

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for Sort

    source§

    impl TypeFoldable for Sort

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Sort

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for Sort

    source§

    impl TypeFoldable for Sort

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Sort

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Sort

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeVisitable for Sort

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Sort

    source§

    impl StructuralEq for Sort

    source§

    impl StructuralPartialEq for Sort

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Sort

    §

    impl Send for Sort

    §

    impl Sync for Sort

    §

    impl Unpin for Sort

    §

    impl UnwindSafe for Sort

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeVisitable for Sort

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Sort

    source§

    impl StructuralEq for Sort

    source§

    impl StructuralPartialEq for Sort

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Sort

    §

    impl Send for Sort

    §

    impl Sync for Sort

    §

    impl Unpin for Sort

    §

    impl UnwindSafe for Sort

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.SortCtor.html b/doc/flux_middle/rty/enum.SortCtor.html index 3a2ab80501..a4d06a446a 100644 --- a/doc/flux_middle/rty/enum.SortCtor.html +++ b/doc/flux_middle/rty/enum.SortCtor.html @@ -1,14 +1,14 @@ -SortCtor in flux_middle::rty - Rust
    pub enum SortCtor {
    +SortCtor in flux_middle::rty - Rust
    pub enum SortCtor {
         Set,
         Map,
         User {
             name: Symbol,
         },
    -}

    Variants§

    §

    Set

    §

    Map

    §

    User

    Fields

    §name: Symbol

    Trait Implementations§

    source§

    impl Clone for SortCtor

    source§

    fn clone(&self) -> SortCtor

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for SortCtor

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for SortCtor

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for SortCtor

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Set

    §

    Map

    §

    User

    Fields

    §name: Symbol

    Trait Implementations§

    source§

    impl Clone for SortCtor

    source§

    fn clone(&self) -> SortCtor

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for SortCtor

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for SortCtor

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for SortCtor

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for SortCtor

    source§

    fn eq(&self, other: &SortCtor) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for SortCtor

    source§

    fn eq(&self, other: &SortCtor) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for SortCtor

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for SortCtor

    source§

    impl Eq for SortCtor

    source§

    impl StructuralEq for SortCtor

    source§

    impl StructuralPartialEq for SortCtor

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for SortCtor

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for SortCtor

    source§

    impl Eq for SortCtor

    source§

    impl StructuralEq for SortCtor

    source§

    impl StructuralPartialEq for SortCtor

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.TupleTree.html b/doc/flux_middle/rty/enum.TupleTree.html index c2605fa2a9..ee40d4ad2d 100644 --- a/doc/flux_middle/rty/enum.TupleTree.html +++ b/doc/flux_middle/rty/enum.TupleTree.html @@ -1,23 +1,23 @@ -TupleTree in flux_middle::rty - Rust
    pub enum TupleTree<T>where
    +TupleTree in flux_middle::rty - Rust
    pub enum TupleTree<T>where
         [TupleTree<T>]: Internable,{
         Tuple(List<TupleTree<T>>),
         Leaf(T),
    -}

    Variants§

    §

    Tuple(List<TupleTree<T>>)

    §

    Leaf(T)

    Implementations§

    source§

    impl<T> TupleTree<T>where - [TupleTree<T>]: Internable,

    source

    fn unit() -> Self

    source

    pub fn split(&self) -> impl Iterator<Item = &TupleTree<T>>

    source

    pub fn expect_leaf(&self) -> &T

    source

    pub fn as_leaf(&self) -> Option<&T>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for TupleTree<T>where - [TupleTree<T>]: Internable,

    source§

    fn clone(&self) -> TupleTree<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for TupleTree<T>where - [TupleTree<T>]: Internable,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: Decoder> Decodable<__D> for TupleTree<T>where +}

    Variants§

    §

    Tuple(List<TupleTree<T>>)

    §

    Leaf(T)

    Implementations§

    source§

    impl<T> TupleTree<T>where + [TupleTree<T>]: Internable,

    source

    fn unit() -> Self

    source

    pub fn split(&self) -> impl Iterator<Item = &TupleTree<T>>

    source

    pub fn expect_leaf(&self) -> &T

    source

    pub fn as_leaf(&self) -> Option<&T>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for TupleTree<T>where + [TupleTree<T>]: Internable,

    source§

    fn clone(&self) -> TupleTree<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for TupleTree<T>where + [TupleTree<T>]: Internable,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: Decoder> Decodable<__D> for TupleTree<T>where [TupleTree<T>]: Internable, - T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: Encoder> Encodable<__E> for TupleTree<T>where + T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: Encoder> Encodable<__E> for TupleTree<T>where [TupleTree<T>]: Internable, - T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl<T: Hash> Hash for TupleTree<T>where - [TupleTree<T>]: Internable,

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl<T: Hash> Hash for TupleTree<T>where + [TupleTree<T>]: Internable,

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<T: PartialEq> PartialEq for TupleTree<T>where - [TupleTree<T>]: Internable,

    source§

    fn eq(&self, other: &TupleTree<T>) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<T: PartialEq> PartialEq for TupleTree<T>where + [TupleTree<T>]: Internable,

    source§

    fn eq(&self, other: &TupleTree<T>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for TupleTree<bool>

    source§

    impl<T: Eq> Eq for TupleTree<T>where - [TupleTree<T>]: Internable,

    source§

    impl<T> StructuralEq for TupleTree<T>where - [TupleTree<T>]: Internable,

    source§

    impl<T> StructuralPartialEq for TupleTree<T>where +sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for TupleTree<bool>

    source§

    impl<T: Eq> Eq for TupleTree<T>where + [TupleTree<T>]: Internable,

    source§

    impl<T> StructuralEq for TupleTree<T>where + [TupleTree<T>]: Internable,

    source§

    impl<T> StructuralPartialEq for TupleTree<T>where [TupleTree<T>]: Internable,

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for TupleTree<T>where T: RefUnwindSafe,

    §

    impl<T> Send for TupleTree<T>where T: Send + Sync,

    §

    impl<T> Sync for TupleTree<T>where diff --git a/doc/flux_middle/rty/enum.TyKind.html b/doc/flux_middle/rty/enum.TyKind.html index 4e49fe2760..52db6302da 100644 --- a/doc/flux_middle/rty/enum.TyKind.html +++ b/doc/flux_middle/rty/enum.TyKind.html @@ -1,4 +1,4 @@ -TyKind in flux_middle::rty - Rust

    Enum flux_middle::rty::TyKind

    source ·
    pub enum TyKind {
    +TyKind in flux_middle::rty - Rust

    Enum flux_middle::rty::TyKind

    source ·
    pub enum TyKind {
         Indexed(BaseTy, Index),
         Exists(Binder<Ty>),
         Constr(Expr, Ty),
    @@ -12,11 +12,11 @@
     }

    Variants§

    §

    Indexed(BaseTy, Index)

    §

    Exists(Binder<Ty>)

    §

    Constr(Expr, Ty)

    §

    Uninit

    §

    Ptr(PtrKind, Path)

    §

    Discr(AdtDef, Place)

    This is a bit of a hack. We use this type internally to represent the result of Rvalue::Discriminant in a way that we can recover the necessary control information when checking TerminatorKind::SwitchInt.

    -
    §

    Param(ParamTy)

    §

    Downcast(AdtDef, GenericArgs, Ty, VariantIdx, List<Ty>)

    §

    Blocked(Ty)

    §

    Alias(AliasKind, AliasTy)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for TyKind

    source§

    fn clone(&self) -> TyKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TyKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for TyKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for TyKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for TyKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    §

    Param(ParamTy)

    §

    Downcast(AdtDef, GenericArgs, Ty, VariantIdx, List<Ty>)

    §

    Blocked(Ty)

    §

    Alias(AliasKind, AliasTy)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for TyKind

    source§

    fn clone(&self) -> TyKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TyKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for TyKind

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for TyKind

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for TyKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TyKind

    source§

    fn eq(&self, other: &TyKind) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TyKind

    source§

    fn eq(&self, other: &TyKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for TyKind

    source§

    impl StructuralEq for TyKind

    source§

    impl StructuralPartialEq for TyKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for TyKind

    source§

    impl StructuralEq for TyKind

    source§

    impl StructuralPartialEq for TyKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/enum.UnOp.html b/doc/flux_middle/rty/enum.UnOp.html index 1ec23f3a6b..2bf5d0b3f4 100644 --- a/doc/flux_middle/rty/enum.UnOp.html +++ b/doc/flux_middle/rty/enum.UnOp.html @@ -1,12 +1,12 @@ -UnOp in flux_middle::rty - Rust

    Enum flux_middle::rty::UnOp

    source ·
    pub enum UnOp {
    +UnOp in flux_middle::rty - Rust

    Enum flux_middle::rty::UnOp

    source ·
    pub enum UnOp {
         Not,
         Neg,
    -}

    Variants§

    §

    Not

    §

    Neg

    Trait Implementations§

    source§

    impl Clone for UnOp

    source§

    fn clone(&self) -> UnOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UnOp

    source§

    fn hash<__H>(&self, state: &mut __H)where +}

    Variants§

    §

    Not

    §

    Neg

    Trait Implementations§

    source§

    impl Clone for UnOp

    source§

    fn clone(&self) -> UnOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UnOp

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for UnOp

    source§

    fn eq(&self, other: &UnOp) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for UnOp

    source§

    fn eq(&self, other: &UnOp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for UnOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    source§

    impl StructuralEq for UnOp

    source§

    impl StructuralPartialEq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl Send for UnOp

    §

    impl Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for UnOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    source§

    impl StructuralEq for UnOp

    source§

    impl StructuralPartialEq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl Send for UnOp

    §

    impl Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -22,4 +22,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.

    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/enum.Var.html b/doc/flux_middle/rty/enum.Var.html index 83fc2f6c0a..e8aec701fc 100644 --- a/doc/flux_middle/rty/enum.Var.html +++ b/doc/flux_middle/rty/enum.Var.html @@ -12,11 +12,11 @@ by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Var

    source§

    fn partial_cmp(&self, other: &Var) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for Var

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeVisitable for Var

    source§

    impl Pretty for Var

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeVisitable for Var

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Copy for Var

    source§

    impl Eq for Var

    source§

    impl StructuralEq for Var

    source§

    impl StructuralPartialEq for Var

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Var

    §

    impl Send for Var

    §

    impl Sync for Var

    §

    impl Unpin for Var

    §

    impl UnwindSafe for Var

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Copy for Var

    source§

    impl Eq for Var

    source§

    impl StructuralEq for Var

    source§

    impl StructuralPartialEq for Var

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Var

    §

    impl Send for Var

    §

    impl Sync for Var

    §

    impl Unpin for Var

    §

    impl UnwindSafe for Var

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/evars/struct.EVid.html b/doc/flux_middle/rty/evars/struct.EVid.html index 42bffa902e..dae7ab88a6 100644 --- a/doc/flux_middle/rty/evars/struct.EVid.html +++ b/doc/flux_middle/rty/evars/struct.EVid.html @@ -17,7 +17,7 @@
    Safety

    source

    const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for EVid

    §

    type Output = EVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for EVid

    source§

    fn clone(&self) -> EVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for EVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for EVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<EVid> for u32

    source§

    fn from(v: EVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<EVid> for usize

    source§

    fn from(v: EVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for EVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for EVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for EVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for EVid

    §

    type Output = EVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for EVid

    source§

    fn clone(&self) -> EVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for EVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for EVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<EVid> for u32

    source§

    fn from(v: EVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<EVid> for usize

    source§

    fn from(v: EVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for EVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for EVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for EVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for EVid

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for EVid

    source§

    fn cmp(&self, other: &EVid) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/rty/expr/enum.BinOp.html b/doc/flux_middle/rty/expr/enum.BinOp.html index 3f0821b581..abb726c96d 100644 --- a/doc/flux_middle/rty/expr/enum.BinOp.html +++ b/doc/flux_middle/rty/expr/enum.BinOp.html @@ -1,4 +1,4 @@ -BinOp in flux_middle::rty::expr - Rust

    Enum flux_middle::rty::expr::BinOp

    source ·
    pub enum BinOp {
    +BinOp in flux_middle::rty::expr - Rust

    Enum flux_middle::rty::expr::BinOp

    source ·
    pub enum BinOp {
     
    Show 15 variants Iff, Imp, Or, @@ -14,12 +14,12 @@ Mul, Div, Mod, -
    }

    Variants§

    §

    Iff

    §

    Imp

    §

    Or

    §

    And

    §

    Eq

    §

    Ne

    §

    Gt

    §

    Ge

    §

    Lt

    §

    Le

    §

    Add

    §

    Sub

    §

    Mul

    §

    Div

    §

    Mod

    Trait Implementations§

    source§

    impl Clone for BinOp

    source§

    fn clone(&self) -> BinOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BinOp

    source§

    fn hash<__H>(&self, state: &mut __H)where +

    }

    Variants§

    §

    Iff

    §

    Imp

    §

    Or

    §

    And

    §

    Eq

    §

    Ne

    §

    Gt

    §

    Ge

    §

    Lt

    §

    Le

    §

    Add

    §

    Sub

    §

    Mul

    §

    Div

    §

    Mod

    Trait Implementations§

    source§

    impl Clone for BinOp

    source§

    fn clone(&self) -> BinOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for BinOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BinOp

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BinOp

    source§

    fn eq(&self, other: &BinOp) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BinOp

    source§

    fn eq(&self, other: &BinOp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for BinOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    source§

    impl StructuralEq for BinOp

    source§

    impl StructuralPartialEq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl Send for BinOp

    §

    impl Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for BinOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    source§

    impl StructuralEq for BinOp

    source§

    impl StructuralPartialEq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl Send for BinOp

    §

    impl Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -35,4 +35,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/expr/enum.Constant.html b/doc/flux_middle/rty/expr/enum.Constant.html index 6da9d1759c..71b5f7bcb8 100644 --- a/doc/flux_middle/rty/expr/enum.Constant.html +++ b/doc/flux_middle/rty/expr/enum.Constant.html @@ -1,16 +1,16 @@ -Constant in flux_middle::rty::expr - Rust
    pub enum Constant {
    +Constant in flux_middle::rty::expr - Rust
    pub enum Constant {
         Int(BigInt),
         Real(i128),
         Bool(bool),
    -}

    Variants§

    §

    Int(BigInt)

    §

    Real(i128)

    §

    Bool(bool)

    Implementations§

    source§

    impl Constant

    source

    pub const ZERO: Constant = _

    source

    pub const ONE: Constant = _

    source

    pub fn iff(&self, other: &Constant) -> Option<Constant>

    source

    pub fn imp(&self, other: &Constant) -> Option<Constant>

    source

    pub fn or(&self, other: &Constant) -> Option<Constant>

    source

    pub fn and(&self, other: &Constant) -> Option<Constant>

    source

    pub fn eq(&self, other: &Constant) -> Constant

    source

    pub fn ne(&self, other: &Constant) -> Constant

    source

    pub fn gt(&self, other: &Constant) -> Option<Constant>

    source

    pub fn ge(&self, other: &Constant) -> Option<Constant>

    source

    pub fn int_min(bit_width: u32) -> Constant

    source

    pub fn int_max(bit_width: u32) -> Constant

    source

    pub fn uint_max(bit_width: u32) -> Constant

    Trait Implementations§

    source§

    impl Clone for Constant

    source§

    fn clone(&self) -> Constant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl From<bool> for Constant

    source§

    fn from(b: bool) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i128> for Constant

    source§

    fn from(c: i128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i32> for Constant

    source§

    fn from(c: i32) -> Constant

    Converts to this type from the input type.
    source§

    impl From<u128> for Constant

    source§

    fn from(c: u128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<usize> for Constant

    source§

    fn from(u: usize) -> Constant

    Converts to this type from the input type.
    source§

    impl Hash for Constant

    source§

    fn hash<__H>(&self, state: &mut __H)where +}

    Variants§

    §

    Int(BigInt)

    §

    Real(i128)

    §

    Bool(bool)

    Implementations§

    source§

    impl Constant

    source

    pub const ZERO: Constant = _

    source

    pub const ONE: Constant = _

    source

    pub fn iff(&self, other: &Constant) -> Option<Constant>

    source

    pub fn imp(&self, other: &Constant) -> Option<Constant>

    source

    pub fn or(&self, other: &Constant) -> Option<Constant>

    source

    pub fn and(&self, other: &Constant) -> Option<Constant>

    source

    pub fn eq(&self, other: &Constant) -> Constant

    source

    pub fn ne(&self, other: &Constant) -> Constant

    source

    pub fn gt(&self, other: &Constant) -> Option<Constant>

    source

    pub fn ge(&self, other: &Constant) -> Option<Constant>

    source

    pub fn int_min(bit_width: u32) -> Constant

    source

    pub fn int_max(bit_width: u32) -> Constant

    source

    pub fn uint_max(bit_width: u32) -> Constant

    Trait Implementations§

    source§

    impl Clone for Constant

    source§

    fn clone(&self) -> Constant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for Constant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl From<bool> for Constant

    source§

    fn from(b: bool) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i128> for Constant

    source§

    fn from(c: i128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<i32> for Constant

    source§

    fn from(c: i32) -> Constant

    Converts to this type from the input type.
    source§

    impl From<u128> for Constant

    source§

    fn from(c: u128) -> Constant

    Converts to this type from the input type.
    source§

    impl From<usize> for Constant

    source§

    fn from(u: usize) -> Constant

    Converts to this type from the input type.
    source§

    impl Hash for Constant

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Constant

    source§

    fn eq(&self, other: &Constant) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Constant

    source§

    fn eq(&self, other: &Constant) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Copy for Constant

    source§

    impl Eq for Constant

    source§

    impl StructuralEq for Constant

    source§

    impl StructuralPartialEq for Constant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for Constant

    source§

    impl Eq for Constant

    source§

    impl StructuralEq for Constant

    source§

    impl StructuralPartialEq for Constant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -26,4 +26,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/expr/enum.HoleKind.html b/doc/flux_middle/rty/expr/enum.HoleKind.html index 2a1a644c9e..db03cb8a18 100644 --- a/doc/flux_middle/rty/expr/enum.HoleKind.html +++ b/doc/flux_middle/rty/expr/enum.HoleKind.html @@ -11,25 +11,25 @@ H: Hasher, Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for HoleKind

    source§

    fn eq(&self, other: &HoleKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for HoleKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for HoleKind

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for HoleKind

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for HoleKind

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for HoleKind

    source§

    impl StructuralEq for HoleKind

    source§

    impl StructuralPartialEq for HoleKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for HoleKind

    source§

    impl StructuralEq for HoleKind

    source§

    impl StructuralPartialEq for HoleKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/expr/enum.Loc.html b/doc/flux_middle/rty/expr/enum.Loc.html index 042c284c3a..30a37ceab6 100644 --- a/doc/flux_middle/rty/expr/enum.Loc.html +++ b/doc/flux_middle/rty/expr/enum.Loc.html @@ -1,7 +1,7 @@ Loc in flux_middle::rty::expr - Rust

    Enum flux_middle::rty::expr::Loc

    source ·
    pub enum Loc {
         Local(Local),
         Var(Var),
    -}

    Variants§

    §

    Local(Local)

    §

    Var(Var)

    Implementations§

    source§

    impl Loc

    source

    pub fn to_expr(&self) -> Expr

    Trait Implementations§

    source§

    impl Clone for Loc

    source§

    fn clone(&self) -> Loc

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Loc

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Loc

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Loc

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Local> for Loc

    source§

    fn from(local: Local) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Loc

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Local(Local)

    §

    Var(Var)

    Implementations§

    source§

    impl Loc

    source

    pub fn to_expr(&self) -> Expr

    Trait Implementations§

    source§

    impl Clone for Loc

    source§

    fn clone(&self) -> Loc

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Loc

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Loc

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Loc

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Local> for Loc

    source§

    fn from(local: Local) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Loc

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for Loc

    source§

    fn cmp(&self, other: &Loc) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere @@ -10,7 +10,7 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for Loc

    source§

    fn partial_cmp(&self, other: &Loc) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for Loc

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Loc

    source§

    impl StructuralEq for Loc

    source§

    impl StructuralPartialEq for Loc

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Loc

    §

    impl Send for Loc

    §

    impl Sync for Loc

    §

    impl Unpin for Loc

    §

    impl UnwindSafe for Loc

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +operator. Read more

    source§

    impl Pretty for Loc

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Loc

    source§

    impl StructuralEq for Loc

    source§

    impl StructuralPartialEq for Loc

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Loc

    §

    impl Send for Loc

    §

    impl Sync for Loc

    §

    impl Unpin for Loc

    §

    impl UnwindSafe for Loc

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/expr/enum.UnOp.html b/doc/flux_middle/rty/expr/enum.UnOp.html index 10a5098877..11146b4c03 100644 --- a/doc/flux_middle/rty/expr/enum.UnOp.html +++ b/doc/flux_middle/rty/expr/enum.UnOp.html @@ -1,12 +1,12 @@ -UnOp in flux_middle::rty::expr - Rust

    Enum flux_middle::rty::expr::UnOp

    source ·
    pub enum UnOp {
    +UnOp in flux_middle::rty::expr - Rust

    Enum flux_middle::rty::expr::UnOp

    source ·
    pub enum UnOp {
         Not,
         Neg,
    -}

    Variants§

    §

    Not

    §

    Neg

    Trait Implementations§

    source§

    impl Clone for UnOp

    source§

    fn clone(&self) -> UnOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UnOp

    source§

    fn hash<__H>(&self, state: &mut __H)where +}

    Variants§

    §

    Not

    §

    Neg

    Trait Implementations§

    source§

    impl Clone for UnOp

    source§

    fn clone(&self) -> UnOp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for UnOp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UnOp

    source§

    fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for UnOp

    source§

    fn eq(&self, other: &UnOp) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for UnOp

    source§

    fn eq(&self, other: &UnOp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for UnOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    source§

    impl StructuralEq for UnOp

    source§

    impl StructuralPartialEq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl Send for UnOp

    §

    impl Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for UnOp

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    source§

    impl StructuralEq for UnOp

    source§

    impl StructuralPartialEq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl Send for UnOp

    §

    impl Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere @@ -22,4 +22,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/expr/enum.Var.html b/doc/flux_middle/rty/expr/enum.Var.html index 8e5b57ef20..c332110e27 100644 --- a/doc/flux_middle/rty/expr/enum.Var.html +++ b/doc/flux_middle/rty/expr/enum.Var.html @@ -12,11 +12,11 @@ by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Var

    source§

    fn partial_cmp(&self, other: &Var) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for Var

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeVisitable for Var

    source§

    impl Pretty for Var

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeVisitable for Var

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Copy for Var

    source§

    impl Eq for Var

    source§

    impl StructuralEq for Var

    source§

    impl StructuralPartialEq for Var

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Var

    §

    impl Send for Var

    §

    impl Sync for Var

    §

    impl Unpin for Var

    §

    impl UnwindSafe for Var

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Copy for Var

    source§

    impl Eq for Var

    source§

    impl StructuralEq for Var

    source§

    impl StructuralPartialEq for Var

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Var

    §

    impl Send for Var

    §

    impl Sync for Var

    §

    impl Unpin for Var

    §

    impl UnwindSafe for Var

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/expr/struct.KVar.html b/doc/flux_middle/rty/expr/struct.KVar.html index b08e5a3f6f..01368c12ae 100644 --- a/doc/flux_middle/rty/expr/struct.KVar.html +++ b/doc/flux_middle/rty/expr/struct.KVar.html @@ -9,29 +9,29 @@

    Fields§

    §kvid: KVid§self_args: usize

    The number of arguments consider to be self arguments.

    §args: List<Expr>

    The list of all arguments with the self arguments at the beginning, i.e., the list of self arguments followed by the scope.

    -

    Implementations§

    source§

    impl KVar

    source

    pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

    source

    fn self_args(&self) -> &[Expr]

    source

    fn scope(&self) -> &[Expr]

    Trait Implementations§

    source§

    impl Clone for KVar

    source§

    fn clone(&self) -> KVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for KVar

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for KVar

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for KVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Implementations§

    source§

    impl KVar

    source

    pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

    source

    fn self_args(&self) -> &[Expr]

    source

    fn scope(&self) -> &[Expr]

    Trait Implementations§

    source§

    impl Clone for KVar

    source§

    fn clone(&self) -> KVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for KVar

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for KVar

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for KVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for KVar

    source§

    fn eq(&self, other: &KVar) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for KVar

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for KVar

    source§

    impl TypeFoldable for KVar

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for KVar

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for KVar

    source§

    impl TypeFoldable for KVar

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for KVar

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for KVar

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for KVar

    source§

    impl StructuralEq for KVar

    source§

    impl StructuralPartialEq for KVar

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVar

    §

    impl Send for KVar

    §

    impl Sync for KVar

    §

    impl Unpin for KVar

    §

    impl UnwindSafe for KVar

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for KVar

    source§

    impl StructuralEq for KVar

    source§

    impl StructuralPartialEq for KVar

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVar

    §

    impl Send for KVar

    §

    impl Sync for KVar

    §

    impl Unpin for KVar

    §

    impl UnwindSafe for KVar

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/expr/struct.KVid.html b/doc/flux_middle/rty/expr/struct.KVid.html index c41f703cbd..a6728a1029 100644 --- a/doc/flux_middle/rty/expr/struct.KVid.html +++ b/doc/flux_middle/rty/expr/struct.KVid.html @@ -16,7 +16,7 @@
    Safety

    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for KVid

    §

    type Output = KVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for KVid

    source§

    fn clone(&self) -> KVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for KVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for KVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<KVid> for u32

    source§

    fn from(v: KVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<KVid> for usize

    source§

    fn from(v: KVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for KVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for KVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for KVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for KVid

    §

    type Output = KVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for KVid

    source§

    fn clone(&self) -> KVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for KVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for KVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<KVid> for u32

    source§

    fn from(v: KVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<KVid> for usize

    source§

    fn from(v: KVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for KVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for KVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for KVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for KVid

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for KVid

    source§

    fn cmp(&self, other: &KVid) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/rty/expr/struct.Name.html b/doc/flux_middle/rty/expr/struct.Name.html index 57a7616ba9..0b766ff459 100644 --- a/doc/flux_middle/rty/expr/struct.Name.html +++ b/doc/flux_middle/rty/expr/struct.Name.html @@ -16,7 +16,7 @@
    Safety

    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for Name

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for Name

    source§

    fn cmp(&self, other: &Name) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/rty/expr/struct.Path.html b/doc/flux_middle/rty/expr/struct.Path.html index bbe2c6bb80..1073c61b20 100644 --- a/doc/flux_middle/rty/expr/struct.Path.html +++ b/doc/flux_middle/rty/expr/struct.Path.html @@ -1,7 +1,7 @@ Path in flux_middle::rty::expr - Rust

    Struct flux_middle::rty::expr::Path

    source ·
    pub struct Path {
         pub loc: Loc,
         projection: List<FieldIdx>,
    -}

    Fields§

    §loc: Loc§projection: List<FieldIdx>

    Implementations§

    source§

    impl Path

    source

    pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

    source

    pub fn from_place(place: &Place) -> Option<Path>

    source

    pub fn projection(&self) -> &[FieldIdx]

    source

    pub fn to_expr(&self) -> Expr

    source

    pub fn to_loc(&self) -> Option<Loc>

    Trait Implementations§

    source§

    impl Clone for Path

    source§

    fn clone(&self) -> Path

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Path

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Path

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Path

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Path

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §loc: Loc§projection: List<FieldIdx>

    Implementations§

    source§

    impl Path

    source

    pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

    source

    pub fn from_place(place: &Place) -> Option<Path>

    source

    pub fn projection(&self) -> &[FieldIdx]

    source

    pub fn to_expr(&self) -> Expr

    source

    pub fn to_loc(&self) -> Option<Loc>

    Trait Implementations§

    source§

    impl Clone for Path

    source§

    fn clone(&self) -> Path

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Path

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Path

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Path

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Path

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for Path

    source§

    fn cmp(&self, other: &Path) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere @@ -10,7 +10,7 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for Path

    source§

    fn partial_cmp(&self, other: &Path) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for Path

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Path

    source§

    impl StructuralEq for Path

    source§

    impl StructuralPartialEq for Path

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Path

    §

    impl Send for Path

    §

    impl Sync for Path

    §

    impl Unpin for Path

    §

    impl UnwindSafe for Path

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +operator. Read more

    source§

    impl Pretty for Path

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Path

    source§

    impl StructuralEq for Path

    source§

    impl StructuralPartialEq for Path

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Path

    §

    impl Send for Path

    §

    impl Sync for Path

    §

    impl Unpin for Path

    §

    impl UnwindSafe for Path

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/expr/type.Expr.html b/doc/flux_middle/rty/expr/type.Expr.html index 857323393b..a80a4c1dd5 100644 --- a/doc/flux_middle/rty/expr/type.Expr.html +++ b/doc/flux_middle/rty/expr/type.Expr.html @@ -28,35 +28,35 @@ doing constant folding. Note that we also have TypeFoldable::normalize which applies beta reductions for tuples and abstractions.

    source

    pub fn to_var(&self) -> Option<Var>

    source

    pub fn to_loc(&self) -> Option<Loc>

    source

    pub fn to_path(&self) -> Option<Path>

    source

    pub fn is_abs(&self) -> bool

    source

    pub fn is_tuple(&self) -> bool

    source

    pub fn eta_expand_abs(&self, sorts: &[Sort]) -> Binder<Expr>

    source

    pub fn eta_expand_tuple(&self, sort: &Sort) -> Expr

    source

    pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

    Trait Implementations§

    source§

    impl<Rhs> Add<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl<Rhs> Add<Rhs> for Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl Debug for Expr

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Rhs> Div<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl<Rhs> Div<Rhs> for Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl From<&Interned<ExprS>> for Expr

    source§

    fn from(e: &Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl From<i32> for Expr

    source§

    fn from(value: i32) -> Self

    Converts to this type from the input type.
    source§

    impl<Rhs> Mul<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Rhs) -> Self::Output

    Performs the * operation. Read more
    source§

    impl<Rhs> Mul<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl<Rhs> Add<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl Debug for Expr

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Rhs> Div<Rhs> for &Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl<Rhs> Div<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl From<&Interned<ExprS>> for Expr

    source§

    fn from(e: &Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl From<i32> for Expr

    source§

    fn from(value: i32) -> Self

    Converts to this type from the input type.
    source§

    impl<Rhs> Mul<Rhs> for &Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Rhs) -> Self::Output

    Performs the * operation. Read more
    source§

    impl<Rhs> Mul<Rhs> for Exprwhere Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Rhs) -> Self::Output

    Performs the * operation. Read more
    source§

    impl Pretty for Expr

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for Expr

    source§

    impl<Rhs> Sub<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl<Rhs> Sub<Rhs> for Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl TypeFoldable for Expr

    source§

    fn try_fold_with<F: FallibleTypeFolder>( + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl<Rhs> Sub<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl TypeFoldable for Expr

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Expr

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Expr

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for Expr

    source§

    fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for Expr

    source§

    impl TypeVisitable for Expr

    source§

    impl TypeVisitable for Expr

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file +) -> ControlFlow<V::BreakTy, ()>
    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file diff --git a/doc/flux_middle/rty/fn.box_args.html b/doc/flux_middle/rty/fn.box_args.html index cbbe54c8b4..52634346d5 100644 --- a/doc/flux_middle/rty/fn.box_args.html +++ b/doc/flux_middle/rty/fn.box_args.html @@ -1 +1 @@ -box_args in flux_middle::rty - Rust

    Function flux_middle::rty::box_args

    source ·
    pub fn box_args(args: &GenericArgs) -> (&Ty, &Ty)
    \ No newline at end of file +box_args in flux_middle::rty - Rust

    Function flux_middle::rty::box_args

    source ·
    pub fn box_args(args: &GenericArgs) -> (&Ty, &Ty)
    \ No newline at end of file diff --git a/doc/flux_middle/rty/fn.int_invariants.html b/doc/flux_middle/rty/fn.int_invariants.html index 23f53c5670..4c3b43d837 100644 --- a/doc/flux_middle/rty/fn.int_invariants.html +++ b/doc/flux_middle/rty/fn.int_invariants.html @@ -1,4 +1,4 @@ -int_invariants in flux_middle::rty - Rust
    fn int_invariants(
    +int_invariants in flux_middle::rty - Rust
    fn int_invariants(
         int_ty: IntTy,
         overflow_checking: bool
     ) -> &'static [Invariant]
    \ No newline at end of file diff --git a/doc/flux_middle/rty/fn.uint_invariants.html b/doc/flux_middle/rty/fn.uint_invariants.html index 12bb2844ed..4d2f588a4a 100644 --- a/doc/flux_middle/rty/fn.uint_invariants.html +++ b/doc/flux_middle/rty/fn.uint_invariants.html @@ -1,4 +1,4 @@ -uint_invariants in flux_middle::rty - Rust
    fn uint_invariants(
    +uint_invariants in flux_middle::rty - Rust
    fn uint_invariants(
         uint_ty: UintTy,
         overflow_checking: bool
     ) -> &'static [Invariant]
    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/index.html b/doc/flux_middle/rty/fold/index.html index be78cbbd60..26f7ee7b9e 100644 --- a/doc/flux_middle/rty/fold/index.html +++ b/doc/flux_middle/rty/fold/index.html @@ -1,3 +1,3 @@ -flux_middle::rty::fold - Rust

    Module flux_middle::rty::fold

    source ·
    Expand description

    This modules folows the implementation of folding in rustc. For more information read the +flux_middle::rty::fold - Rust

    Module flux_middle::rty::fold

    source ·
    Expand description

    This modules folows the implementation of folding in rustc. For more information read the documentation in rustc_middle::ty::fold.

    Traits

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html b/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html index 4a04a293d5..d82fa9723a 100644 --- a/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html +++ b/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html @@ -1,4 +1,4 @@ -FallibleTypeFolder in flux_middle::rty::fold - Rust
    pub trait FallibleTypeFolder: Sized {
    +FallibleTypeFolder in flux_middle::rty::fold - Rust
    pub trait FallibleTypeFolder: Sized {
         type Error;
     
         // Provided methods
    @@ -11,8 +11,8 @@
         fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error> { ... }
         fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error> { ... }
         fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error> { ... }
    -}

    Required Associated Types§

    Provided Methods§

    Required Associated Types§

    Provided Methods§

    source

    fn try_fold_binder<T: TypeFoldable>( &mut self, t: &Binder<T> -) -> Result<Binder<T>, Self::Error>

    source

    fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

    source

    fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

    source

    fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

    source

    fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error>

    source

    fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

    Object Safety§

    This trait is not object safe.

    Implementors§

    source§

    impl FallibleTypeFolder for Normalizer<'_, '_, '_>

    source§

    impl<F> FallibleTypeFolder for Fwhere +) -> Result<Binder<T>, Self::Error>

    source

    fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

    source

    fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

    source

    fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

    source

    fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error>

    source

    fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeFoldable.html b/doc/flux_middle/rty/fold/trait.TypeFoldable.html index 3da47c379b..64e72534e1 100644 --- a/doc/flux_middle/rty/fold/trait.TypeFoldable.html +++ b/doc/flux_middle/rty/fold/trait.TypeFoldable.html @@ -1,4 +1,4 @@ -TypeFoldable in flux_middle::rty::fold - Rust
    pub trait TypeFoldable: TypeVisitable {
    +TypeFoldable in flux_middle::rty::fold - Rust
    pub trait TypeFoldable: TypeVisitable {
         // Required method
         fn try_fold_with<F: FallibleTypeFolder>(
             &self,
    @@ -23,24 +23,24 @@
         fn replace_evars(&self, evars: &EVarSol) -> Self { ... }
         fn shift_in_escaping(&self, amount: u32) -> Self { ... }
         fn shift_out_escaping(&self, amount: u32) -> Self { ... }
    -}

    Required Methods§

    Required Methods§

    source

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    Provided Methods§

    source

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    Provided Methods§

    source

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.

    -
    source

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>

    source

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.

    +
    source

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

    -
    source

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +

    source

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    -
    source

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source

    fn shift_in_escaping(&self, amount: u32) -> Self

    source

    fn shift_out_escaping(&self, amount: u32) -> Self

    Object Safety§

    This trait is not object safe.

    Implementors§

    source

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source

    fn shift_in_escaping(&self, amount: u32) -> Self

    source

    fn shift_out_escaping(&self, amount: u32) -> Self

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file + [T]: Internable,
    source§

    impl<T: TypeFoldable> TypeFoldable for Opaqueness<T>

    source§

    impl<T: TypeFoldable, U: TypeFoldable> TypeFoldable for OutlivesPredicate<T, U>

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeFolder.html b/doc/flux_middle/rty/fold/trait.TypeFolder.html index c81eb0b160..70077e83f9 100644 --- a/doc/flux_middle/rty/fold/trait.TypeFolder.html +++ b/doc/flux_middle/rty/fold/trait.TypeFolder.html @@ -1,4 +1,4 @@ -TypeFolder in flux_middle::rty::fold - Rust
    pub trait TypeFolder: FallibleTypeFolder<Error = !> {
    +TypeFolder in flux_middle::rty::fold - Rust
    pub trait TypeFolder: FallibleTypeFolder<Error = !> {
         // Provided methods
         fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T> { ... }
         fn fold_sort(&mut self, sort: &Sort) -> Sort { ... }
    @@ -6,5 +6,5 @@
         fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy { ... }
         fn fold_region(&mut self, re: &Region) -> Region { ... }
         fn fold_expr(&mut self, expr: &Expr) -> Expr { ... }
    -}

    Provided Methods§

    source

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source

    fn fold_region(&mut self, re: &Region) -> Region

    source

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    Object Safety§

    This trait is not object safe.

    Implementors§

    Provided Methods§

    source

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source

    fn fold_region(&mut self, re: &Region) -> Region

    source

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html b/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html index a805c1b607..22731afd7b 100644 --- a/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html +++ b/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html @@ -1,4 +1,4 @@ -TypeSuperFoldable in flux_middle::rty::fold - Rust
    pub trait TypeSuperFoldable: TypeFoldable {
    +TypeSuperFoldable in flux_middle::rty::fold - Rust
    pub trait TypeSuperFoldable: TypeFoldable {
         // Required method
         fn try_super_fold_with<F: FallibleTypeFolder>(
             &self,
    @@ -7,8 +7,8 @@
     
         // Provided method
         fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self { ... }
    -}

    Required Methods§

    Required Methods§

    source

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    Provided Methods§

    source

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    Object Safety§

    This trait is not object safe.

    Implementors§

    Provided Methods§

    source

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html b/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html index 2f378c7c2a..ea254c8c35 100644 --- a/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html +++ b/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html @@ -1,11 +1,11 @@ -TypeSuperVisitable in flux_middle::rty::fold - Rust
    pub trait TypeSuperVisitable: TypeVisitable {
    +TypeSuperVisitable in flux_middle::rty::fold - Rust
    pub trait TypeSuperVisitable: TypeVisitable {
         // Required method
         fn super_visit_with<V: TypeVisitor>(
             &self,
             visitor: &mut V
         ) -> ControlFlow<V::BreakTy, ()>;
    -}

    Required Methods§

    Required Methods§

    source

    fn super_visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    Object Safety§

    This trait is not object safe.

    Implementors§

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeVisitable.html b/doc/flux_middle/rty/fold/trait.TypeVisitable.html index 1dc591e8bb..0b58b13429 100644 --- a/doc/flux_middle/rty/fold/trait.TypeVisitable.html +++ b/doc/flux_middle/rty/fold/trait.TypeVisitable.html @@ -1,4 +1,4 @@ -TypeVisitable in flux_middle::rty::fold - Rust
    pub trait TypeVisitable: Sized {
    +TypeVisitable in flux_middle::rty::fold - Rust
    pub trait TypeVisitable: Sized {
         // Required method
         fn visit_with<V: TypeVisitor>(
             &self,
    @@ -9,16 +9,16 @@
         fn has_escaping_bvars(&self) -> bool { ... }
         fn fvars(&self) -> FxHashSet<Name> { ... }
         fn opaque_refine_args(&self) -> OpaqueArgsMap { ... }
    -}

    Required Methods§

    Required Methods§

    source

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    Provided Methods§

    source

    fn has_escaping_bvars(&self) -> bool

    source

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +) -> ControlFlow<V::BreakTy, ()>

    Provided Methods§

    source

    fn has_escaping_bvars(&self) -> bool

    source

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.

    -
    source

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    -

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl<T: TypeVisitable> TypeVisitable for Vec<T>

    source

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    +

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl<T: TypeVisitable> TypeVisitable for Vec<T>

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    Implementors§

    Implementors§

    \ No newline at end of file + [T]: Internable,
    source§

    impl<T: TypeVisitable> TypeVisitable for Opaqueness<T>

    source§

    impl<T: TypeVisitable, U: TypeVisitable> TypeVisitable for OutlivesPredicate<T, U>

    \ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeVisitor.html b/doc/flux_middle/rty/fold/trait.TypeVisitor.html index 0f84cf35c6..8f347177dc 100644 --- a/doc/flux_middle/rty/fold/trait.TypeVisitor.html +++ b/doc/flux_middle/rty/fold/trait.TypeVisitor.html @@ -1,4 +1,4 @@ -TypeVisitor in flux_middle::rty::fold - Rust
    pub trait TypeVisitor: Sized {
    +TypeVisitor in flux_middle::rty::fold - Rust
    pub trait TypeVisitor: Sized {
         type BreakTy = !;
     
         // Provided methods
    @@ -10,7 +10,7 @@
         fn visit_fvar(&mut self, _name: Name) -> ControlFlow<Self::BreakTy> { ... }
         fn visit_ty(&mut self, ty: &Ty) -> ControlFlow<Self::BreakTy> { ... }
         fn visit_bty(&mut self, bty: &BaseTy) -> ControlFlow<Self::BreakTy> { ... }
    -}

    Provided Associated Types§

    Provided Methods§

    Provided Associated Types§

    Provided Methods§

    source

    fn visit_binder<T: TypeVisitable>( &mut self, t: &Binder<T> -) -> ControlFlow<Self::BreakTy>

    source

    fn visit_expr(&mut self, expr: &Expr) -> ControlFlow<Self::BreakTy>

    source

    fn visit_fvar(&mut self, _name: Name) -> ControlFlow<Self::BreakTy>

    source

    fn visit_ty(&mut self, ty: &Ty) -> ControlFlow<Self::BreakTy>

    source

    fn visit_bty(&mut self, bty: &BaseTy) -> ControlFlow<Self::BreakTy>

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +) -> ControlFlow<Self::BreakTy>
    source

    fn visit_expr(&mut self, expr: &Expr) -> ControlFlow<Self::BreakTy>

    source

    fn visit_fvar(&mut self, _name: Name) -> ControlFlow<Self::BreakTy>

    source

    fn visit_ty(&mut self, ty: &Ty) -> ControlFlow<Self::BreakTy>

    source

    fn visit_bty(&mut self, bty: &BaseTy) -> ControlFlow<Self::BreakTy>

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/index.html b/doc/flux_middle/rty/index.html index 284191e54b..7167d29169 100644 --- a/doc/flux_middle/rty/index.html +++ b/doc/flux_middle/rty/index.html @@ -1,4 +1,4 @@ -flux_middle::rty - Rust

    Module flux_middle::rty

    source ·
    Expand description

    Defines how flux represents refinement types internally. Definitions in this module are used +flux_middle::rty - Rust

    Module flux_middle::rty

    source ·
    Expand description

    Defines how flux represents refinement types internally. Definitions in this module are used during refinement type checking. A couple of important differences between definitions in this module and in crate::fhir are:

  • normalize 🔒
  • pretty 🔒
  • Refining is the process of generating a refined version of a rust type.
  • Macros

    Structs

    Enums

    Constants

    Statics

    Functions

    Type Aliases

    \ No newline at end of file +annotated with #[flux::opaque]. Note that only structs can be marked as opaque.
  • Constants

    Statics

    Functions

    Type Aliases

    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Bool.html b/doc/flux_middle/rty/macro.Bool.html index 1446f8e221..ce70f09e9d 100644 --- a/doc/flux_middle/rty/macro.Bool.html +++ b/doc/flux_middle/rty/macro.Bool.html @@ -1,3 +1,3 @@ -Bool in flux_middle::rty - Rust

    Macro flux_middle::rty::Bool

    source ·
    macro_rules! Bool {
    +Bool in flux_middle::rty - Rust

    Macro flux_middle::rty::Bool

    source ·
    macro_rules! Bool {
         ($idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Float.html b/doc/flux_middle/rty/macro.Float.html index e5ba97c3fb..5107e6e1ad 100644 --- a/doc/flux_middle/rty/macro.Float.html +++ b/doc/flux_middle/rty/macro.Float.html @@ -1,3 +1,3 @@ -Float in flux_middle::rty - Rust

    Macro flux_middle::rty::Float

    source ·
    macro_rules! Float {
    +Float in flux_middle::rty - Rust

    Macro flux_middle::rty::Float

    source ·
    macro_rules! Float {
         ($float_ty:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Int.html b/doc/flux_middle/rty/macro.Int.html index 43f8e8964b..59fd11d4db 100644 --- a/doc/flux_middle/rty/macro.Int.html +++ b/doc/flux_middle/rty/macro.Int.html @@ -1,3 +1,3 @@ -Int in flux_middle::rty - Rust

    Macro flux_middle::rty::Int

    source ·
    macro_rules! Int {
    +Int in flux_middle::rty - Rust

    Macro flux_middle::rty::Int

    source ·
    macro_rules! Int {
         ($int_ty:pat, $idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Ref.html b/doc/flux_middle/rty/macro.Ref.html index a0336eea88..d1c1dec1ba 100644 --- a/doc/flux_middle/rty/macro.Ref.html +++ b/doc/flux_middle/rty/macro.Ref.html @@ -1,3 +1,3 @@ -Ref in flux_middle::rty - Rust

    Macro flux_middle::rty::Ref

    source ·
    macro_rules! Ref {
    +Ref in flux_middle::rty - Rust

    Macro flux_middle::rty::Ref

    source ·
    macro_rules! Ref {
         ($($pats:pat),+ $(,)?) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Uint.html b/doc/flux_middle/rty/macro.Uint.html index 0d6d636318..41d0b19e6c 100644 --- a/doc/flux_middle/rty/macro.Uint.html +++ b/doc/flux_middle/rty/macro.Uint.html @@ -1,3 +1,3 @@ -Uint in flux_middle::rty - Rust

    Macro flux_middle::rty::Uint

    source ·
    macro_rules! Uint {
    +Uint in flux_middle::rty - Rust

    Macro flux_middle::rty::Uint

    source ·
    macro_rules! Uint {
         ($uint_ty:pat, $idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/normalize/struct.BaseSpanner.html b/doc/flux_middle/rty/normalize/struct.BaseSpanner.html index e4b32b84b5..c722b1771b 100644 --- a/doc/flux_middle/rty/normalize/struct.BaseSpanner.html +++ b/doc/flux_middle/rty/normalize/struct.BaseSpanner.html @@ -1,26 +1,26 @@ BaseSpanner in flux_middle::rty::normalize - Rust
    struct BaseSpanner {
         espan: ESpan,
    -}

    Fields§

    §espan: ESpan

    Implementations§

    source§

    impl BaseSpanner

    source

    fn new(espan: ESpan) -> Self

    Trait Implementations§

    source§

    impl TypeFolder for BaseSpanner

    source§

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §espan: ESpan

    Implementations§

    source§

    impl BaseSpanner

    source

    fn new(espan: ESpan) -> Self

    Trait Implementations§

    source§

    impl TypeFolder for BaseSpanner

    source§

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere - F: TypeFolder,

    §

    type Error = !

    source§

    fn try_fold_binder<T>( + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere + F: TypeFolder,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/normalize/struct.Normalizer.html b/doc/flux_middle/rty/normalize/struct.Normalizer.html index 5f795ae49a..8f646a9e2a 100644 --- a/doc/flux_middle/rty/normalize/struct.Normalizer.html +++ b/doc/flux_middle/rty/normalize/struct.Normalizer.html @@ -1,26 +1,26 @@ Normalizer in flux_middle::rty::normalize - Rust
    pub(super) struct Normalizer<'a> {
         defs: &'a Defns,
    -}

    Fields§

    §defs: &'a Defns

    Implementations§

    source§

    impl<'a> Normalizer<'a>

    source

    pub(super) fn new(defs: &'a Defns) -> Self

    source

    fn at_base(expr: Expr, espan: Option<ESpan>) -> Expr

    source

    fn app(&mut self, func: &Expr, args: &[Expr], espan: Option<ESpan>) -> Expr

    source

    fn tuple_proj(&self, tup: &Expr, proj: u32) -> Expr

    Trait Implementations§

    source§

    impl TypeFolder for Normalizer<'_>

    source§

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Normalizer<'a>

    §

    impl<'a> Send for Normalizer<'a>

    §

    impl<'a> Sync for Normalizer<'a>

    §

    impl<'a> Unpin for Normalizer<'a>

    §

    impl<'a> UnwindSafe for Normalizer<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §defs: &'a Defns

    Implementations§

    source§

    impl<'a> Normalizer<'a>

    source

    pub(super) fn new(defs: &'a Defns) -> Self

    source

    fn at_base(expr: Expr, espan: Option<ESpan>) -> Expr

    source

    fn app(&mut self, func: &Expr, args: &[Expr], espan: Option<ESpan>) -> Expr

    source

    fn tuple_proj(&self, tup: &Expr, proj: u32) -> Expr

    Trait Implementations§

    source§

    impl TypeFolder for Normalizer<'_>

    source§

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Normalizer<'a>

    §

    impl<'a> Send for Normalizer<'a>

    §

    impl<'a> Sync for Normalizer<'a>

    §

    impl<'a> Unpin for Normalizer<'a>

    §

    impl<'a> UnwindSafe for Normalizer<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere - F: TypeFolder,

    §

    type Error = !

    source§

    fn try_fold_binder<T>( + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere + F: TypeFolder,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/pretty/index.html b/doc/flux_middle/rty/pretty/index.html index b7ae6b9a61..0b185c03d2 100644 --- a/doc/flux_middle/rty/pretty/index.html +++ b/doc/flux_middle/rty/pretty/index.html @@ -1 +1 @@ -flux_middle::rty::pretty - Rust

    Module flux_middle::rty::pretty

    source ·
    \ No newline at end of file +flux_middle::rty::pretty - Rust

    Module flux_middle::rty::pretty

    source ·
    \ No newline at end of file diff --git a/doc/flux_middle/rty/projections/struct.Normalizer.html b/doc/flux_middle/rty/projections/struct.Normalizer.html index 3c7324e43a..7777730449 100644 --- a/doc/flux_middle/rty/projections/struct.Normalizer.html +++ b/doc/flux_middle/rty/projections/struct.Normalizer.html @@ -24,10 +24,10 @@ &mut self, obligation: &AliasTy, candidates: &mut Vec<Candidate> -) -> QueryResult<()>
    source

    fn tcx(&self) -> TyCtxt<'tcx>

    source

    fn rustc_param_env(&self) -> ParamEnv<'tcx>

    Trait Implementations§

    source§

    impl FallibleTypeFolder for Normalizer<'_, '_, '_>

    §

    type Error = QueryErr

    source§

    fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

    source§

    fn try_fold_binder<T: TypeFoldable>( +) -> QueryResult<()>

    source

    fn tcx(&self) -> TyCtxt<'tcx>

    source

    fn rustc_param_env(&self) -> ParamEnv<'tcx>

    Trait Implementations§

    source§

    impl FallibleTypeFolder for Normalizer<'_, '_, '_>

    §

    type Error = QueryErr

    source§

    fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

    source§

    fn try_fold_binder<T: TypeFoldable>( &mut self, t: &Binder<T> -) -> Result<Binder<T>, Self::Error>

    source§

    fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

    source§

    fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

    source§

    fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error>

    source§

    fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

    Auto Trait Implementations§

    §

    impl<'sess, 'tcx, 'cx> !RefUnwindSafe for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> !Send for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> !Sync for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> Unpin for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> !UnwindSafe for Normalizer<'sess, 'tcx, 'cx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> Result<Binder<T>, Self::Error>

    source§

    fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

    source§

    fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

    source§

    fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error>

    source§

    fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

    Auto Trait Implementations§

    §

    impl<'sess, 'tcx, 'cx> !RefUnwindSafe for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> !Send for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> !Sync for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> Unpin for Normalizer<'sess, 'tcx, 'cx>

    §

    impl<'sess, 'tcx, 'cx> !UnwindSafe for Normalizer<'sess, 'tcx, 'cx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/refining/fn.refine_bound_variables.html b/doc/flux_middle/rty/refining/fn.refine_bound_variables.html index c2cbf24d84..2b3f1040c6 100644 --- a/doc/flux_middle/rty/refining/fn.refine_bound_variables.html +++ b/doc/flux_middle/rty/refining/fn.refine_bound_variables.html @@ -1,3 +1,3 @@ -refine_bound_variables in flux_middle::rty::refining - Rust
    pub fn refine_bound_variables(
    +refine_bound_variables in flux_middle::rty::refining - Rust
    pub fn refine_bound_variables(
         vars: &[BoundVariableKind]
     ) -> List<BoundVariableKind>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/refining/fn.refine_default.html b/doc/flux_middle/rty/refining/fn.refine_default.html index 8693c52c86..20d7ceb70f 100644 --- a/doc/flux_middle/rty/refining/fn.refine_default.html +++ b/doc/flux_middle/rty/refining/fn.refine_default.html @@ -1 +1 @@ -refine_default in flux_middle::rty::refining - Rust
    fn refine_default(bty: BaseTy) -> Binder<Ty>
    \ No newline at end of file +refine_default in flux_middle::rty::refining - Rust
    fn refine_default(bty: BaseTy) -> Binder<Ty>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/refining/index.html b/doc/flux_middle/rty/refining/index.html index 324a2dd7e8..04c53b596b 100644 --- a/doc/flux_middle/rty/refining/index.html +++ b/doc/flux_middle/rty/refining/index.html @@ -1,3 +1,3 @@ -flux_middle::rty::refining - Rust

    Module flux_middle::rty::refining

    source ·
    Expand description

    Refining is the process of generating a refined version of a rust type.

    +flux_middle::rty::refining - Rust

    Module flux_middle::rty::refining

    source ·
    Expand description

    Refining is the process of generating a refined version of a rust type.

    Concretely, this module provides functions to go from types in rustc::ty to types in rty.

    Structs

    Functions

    \ No newline at end of file diff --git a/doc/flux_middle/rty/refining/struct.Refiner.html b/doc/flux_middle/rty/refining/struct.Refiner.html index c80df53b88..d6fa114487 100644 --- a/doc/flux_middle/rty/refining/struct.Refiner.html +++ b/doc/flux_middle/rty/refining/struct.Refiner.html @@ -2,7 +2,7 @@ genv: &'a GlobalEnv<'a, 'tcx>, generics: &'a Generics, refine: fn(_: BaseTy) -> Binder<Ty>, -}

    Fields§

    §genv: &'a GlobalEnv<'a, 'tcx>§generics: &'a Generics§refine: fn(_: BaseTy) -> Binder<Ty>

    Implementations§

    source§

    impl<'a, 'tcx> Refiner<'a, 'tcx>

    source

    pub(crate) fn new( +}

    Fields§

    §genv: &'a GlobalEnv<'a, 'tcx>§generics: &'a Generics§refine: fn(_: BaseTy) -> Binder<Ty>

    Implementations§

    source§

    impl<'a, 'tcx> Refiner<'a, 'tcx>

    source

    pub(crate) fn new( genv: &'a GlobalEnv<'a, 'tcx>, generics: &'a Generics, refine: fn(_: BaseTy) -> Binder<Ty> @@ -15,53 +15,53 @@ ) -> QueryResult<GenericPredicates>

    source

    pub(crate) fn refine_clauses( &self, clauses: &[Clause] -) -> QueryResult<List<Clause>>

    source

    fn refine_clause( +) -> QueryResult<List<Clause>>

    source

    fn refine_clause( &self, clauses: &[Clause], clause: &Clause -) -> QueryResult<Option<Clause>>

    source

    fn refine_fn_trait_pred( +) -> QueryResult<Option<Clause>>

    source

    fn refine_fn_trait_pred( &self, clauses: &[Clause], kind: ClosureKind, trait_ref: &TraitRef -) -> QueryResult<ClauseKind>

    source

    fn refine_trait_ref(&self, trait_ref: &TraitRef) -> QueryResult<TraitRef>

    source

    pub(crate) fn refine_variant_def( +) -> QueryResult<ClauseKind>

    source

    fn refine_trait_ref(&self, trait_ref: &TraitRef) -> QueryResult<TraitRef>

    source

    pub(crate) fn refine_variant_def( &self, adt_def_id: DefId, fields: &[Ty] -) -> QueryResult<PolyVariant>

    source

    pub(crate) fn refine_binders<S, T, F>( +) -> QueryResult<PolyVariant>

    source

    pub(crate) fn refine_binders<S, T, F>( &self, thing: &Binder<S>, f: F ) -> QueryResult<Binder<T>>where - F: FnMut(&S) -> QueryResult<T>,

    source

    pub(crate) fn refine_poly_fn_sig( + F: FnMut(&S) -> QueryResult<T>,

    source

    pub(crate) fn refine_poly_fn_sig( &self, fn_sig: &PolyFnSig -) -> QueryResult<PolyFnSig>

    source

    pub(crate) fn refine_generic_arg( +) -> QueryResult<PolyFnSig>

    source

    pub(crate) fn refine_generic_arg( &self, param: &GenericParamDef, arg: &GenericArg -) -> QueryResult<GenericArg>

    source

    pub(crate) fn refine_generic_arg_raw( +) -> QueryResult<GenericArg>

    source

    pub(crate) fn refine_generic_arg_raw( &self, arg: &GenericArg -) -> QueryResult<GenericArg>

    source

    pub(crate) fn refine_alias_ty( +) -> QueryResult<GenericArg>

    source

    pub(crate) fn refine_alias_ty( &self, alias_kind: &AliasKind, alias_ty: &AliasTy -) -> QueryResult<AliasTy>

    source

    pub(crate) fn refine_ty(&self, ty: &Ty) -> QueryResult<Ty>

    source

    fn refine_alias_kind(kind: &AliasKind) -> AliasKind

    source

    pub fn refine_poly_ty(&self, ty: &Ty) -> QueryResult<PolyTy>

    source

    fn as_default(&self) -> Self

    source

    fn adt_def(&self, def_id: DefId) -> QueryResult<AdtDef>

    source

    fn generics_of(&self, def_id: DefId) -> QueryResult<Generics>

    source

    fn refine_args_of( +) -> QueryResult<AliasTy>

    source

    pub(crate) fn refine_ty(&self, ty: &Ty) -> QueryResult<Ty>

    source

    fn refine_alias_kind(kind: &AliasKind) -> AliasKind

    source

    pub fn refine_poly_ty(&self, ty: &Ty) -> QueryResult<PolyTy>

    source

    fn as_default(&self) -> Self

    source

    fn adt_def(&self, def_id: DefId) -> QueryResult<AdtDef>

    source

    fn generics_of(&self, def_id: DefId) -> QueryResult<Generics>

    source

    fn refine_args_of( &self, def_id: DefId, alias_kind: &AliasKind -) -> QueryResult<RefineArgs>

    source

    fn iter_with_generics_of( +) -> QueryResult<RefineArgs>

    source

    fn iter_with_generics_of( &self, def_id: DefId, args: &[GenericArg], f: impl FnMut(&GenericParamDef, &GenericArg) -> QueryResult<GenericArg> -) -> QueryResult<GenericArgs>

    source

    fn iter_with_generic_params( +) -> QueryResult<GenericArgs>

    source

    fn iter_with_generic_params( &self, generics: &Generics, args: &[GenericArg], f: impl FnMut(&GenericParamDef, &GenericArg) -> QueryResult<GenericArg> -) -> QueryResult<GenericArgs>

    source

    fn param(&self, param_ty: ParamTy) -> QueryResult<GenericParamDef>

    Auto Trait Implementations§

    §

    impl<'a, 'tcx> !RefUnwindSafe for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> !Send for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> !Sync for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> Unpin for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> !UnwindSafe for Refiner<'a, 'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> QueryResult<GenericArgs>

    source

    fn param(&self, param_ty: ParamTy) -> QueryResult<GenericParamDef>

    Auto Trait Implementations§

    §

    impl<'a, 'tcx> !RefUnwindSafe for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> !Send for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> !Sync for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> Unpin for Refiner<'a, 'tcx>

    §

    impl<'a, 'tcx> !UnwindSafe for Refiner<'a, 'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/sidebar-items.js b/doc/flux_middle/rty/sidebar-items.js index eeb86f54d3..d791105163 100644 --- a/doc/flux_middle/rty/sidebar-items.js +++ b/doc/flux_middle/rty/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["FIRST_VARIANT","INNERMOST"],"enum":["AliasKind","BaseTy","BinOp","BoundRegionKind","BoundVariableKind","ClauseKind","ClosureKind","Constant","Constraint","ExprKind","FloatTy","GenericArg","GenericParamDefKind","HoleKind","IntTy","Loc","Mutability","Opaqueness","PtrKind","Sort","SortCtor","TupleTree","TyKind","UintTy","UnOp","Var"],"fn":["box_args","int_invariants","uint_invariants"],"macro":["Bool","Float","Int","Ref","Uint"],"mod":["evars","expr","fold","normalize","pretty","projections","refining","subst"],"static":["INT_TYS","UINT_TYS"],"struct":["AdtDef","AdtDefData","AdtFlags","AliasTy","Binder","BoundVar","Clause","ClosureOblig","Defn","Defns","ESpan","EarlyBinder","EarlyBoundRegion","FnOutput","FnSig","FnTraitPredicate","FuncDecl","FuncSort","GeneratorArgs","GeneratorObligPredicate","GenericParamDef","GenericPredicates","Generics","Index","Invariant","KVar","KVid","Name","ParamTy","Path","PolyFuncSort","ProjectionPredicate","Qualifier","RefineParam","ScalarInt","SortVar","TraitPredicate","TraitRef","TyS","VariantIdx","VariantSig"],"type":["Constraints","Expr","GenericArgs","OpaqueArgsMap","PolyFnSig","PolyTy","PolyVariant","PolyVariants","RefineArgs","Ty"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["FIRST_VARIANT","INNERMOST"],"enum":["AliasKind","BaseTy","BinOp","BoundRegionKind","BoundVariableKind","ClauseKind","ClosureKind","Constant","Constraint","ExprKind","FloatTy","GenericArg","GenericParamDefKind","HoleKind","IntTy","Loc","Mutability","Opaqueness","PtrKind","Sort","SortCtor","TupleTree","TyKind","UintTy","UnOp","Var"],"fn":["box_args","int_invariants","uint_invariants"],"macro":["Bool","Float","Int","Ref","Uint"],"mod":["evars","expr","fold","normalize","pretty","projections","refining","subst"],"static":["INT_TYS","UINT_TYS"],"struct":["AdtDef","AdtDefData","AdtFlags","AliasTy","Binder","BoundVar","Clause","ClosureOblig","Defn","Defns","ESpan","EarlyBinder","EarlyBoundRegion","FnOutput","FnSig","FnTraitPredicate","FuncDecl","FuncSort","GeneratorArgs","GeneratorObligPredicate","GenericParamDef","GenericPredicates","Generics","Index","Invariant","KVar","KVid","Name","OutlivesPredicate","ParamTy","Path","PolyFuncSort","ProjectionPredicate","Qualifier","RefineParam","ScalarInt","SortVar","TraitPredicate","TraitRef","TyS","VariantIdx","VariantSig"],"type":["Constraints","Expr","GenericArgs","OpaqueArgsMap","PolyFnSig","PolyTy","PolyVariant","PolyVariants","RefineArgs","Ty","TypeOutlivesPredicate"]}; \ No newline at end of file diff --git a/doc/flux_middle/rty/static.INT_TYS.html b/doc/flux_middle/rty/static.INT_TYS.html index a46ce4fc36..36dd326084 100644 --- a/doc/flux_middle/rty/static.INT_TYS.html +++ b/doc/flux_middle/rty/static.INT_TYS.html @@ -1 +1 @@ -INT_TYS in flux_middle::rty - Rust

    Static flux_middle::rty::INT_TYS

    source ·
    pub static INT_TYS: [IntTy; 6]
    \ No newline at end of file +INT_TYS in flux_middle::rty - Rust

    Static flux_middle::rty::INT_TYS

    source ·
    pub static INT_TYS: [IntTy; 6]
    \ No newline at end of file diff --git a/doc/flux_middle/rty/static.UINT_TYS.html b/doc/flux_middle/rty/static.UINT_TYS.html index 2af5d69829..8de5c40df9 100644 --- a/doc/flux_middle/rty/static.UINT_TYS.html +++ b/doc/flux_middle/rty/static.UINT_TYS.html @@ -1 +1 @@ -UINT_TYS in flux_middle::rty - Rust

    Static flux_middle::rty::UINT_TYS

    source ·
    pub static UINT_TYS: [UintTy; 6]
    \ No newline at end of file +UINT_TYS in flux_middle::rty - Rust

    Static flux_middle::rty::UINT_TYS

    source ·
    pub static UINT_TYS: [UintTy; 6]
    \ No newline at end of file diff --git a/doc/flux_middle/rty/struct.AdtDef.html b/doc/flux_middle/rty/struct.AdtDef.html index 3817af6202..880c475e3d 100644 --- a/doc/flux_middle/rty/struct.AdtDef.html +++ b/doc/flux_middle/rty/struct.AdtDef.html @@ -1,13 +1,13 @@ -AdtDef in flux_middle::rty - Rust

    Struct flux_middle::rty::AdtDef

    source ·
    pub struct AdtDef(Interned<AdtDefData>);

    Tuple Fields§

    §0: Interned<AdtDefData>

    Implementations§

    source§

    impl AdtDef

    source

    pub fn new( +AdtDef in flux_middle::rty - Rust

    Struct flux_middle::rty::AdtDef

    source ·
    pub struct AdtDef(Interned<AdtDefData>);

    Tuple Fields§

    §0: Interned<AdtDefData>

    Implementations§

    source§

    impl AdtDef

    source

    pub fn new( rustc: AdtDef, sort: Sort, invariants: Vec<Invariant>, opaque: bool -) -> Self

    source

    pub fn did(&self) -> DefId

    source

    pub fn sort(&self) -> &Sort

    source

    pub fn is_box(&self) -> bool

    source

    pub fn is_enum(&self) -> bool

    source

    pub fn is_struct(&self) -> bool

    source

    pub fn variants(&self) -> &IndexSlice<VariantIdx, VariantDef>

    source

    pub fn variant(&self, idx: VariantIdx) -> &VariantDef

    source

    pub fn invariants(&self) -> &[Invariant]

    source

    pub fn is_opaque(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for AdtDef

    source§

    fn clone(&self) -> AdtDef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AdtDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Self

    source

    pub fn did(&self) -> DefId

    source

    pub fn sort(&self) -> &Sort

    source

    pub fn is_box(&self) -> bool

    source

    pub fn is_enum(&self) -> bool

    source

    pub fn is_struct(&self) -> bool

    source

    pub fn variants(&self) -> &IndexSlice<VariantIdx, VariantDef>

    source

    pub fn variant(&self, idx: VariantIdx) -> &VariantDef

    source

    pub fn invariants(&self) -> &[Invariant]

    source

    pub fn is_opaque(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for AdtDef

    source§

    fn clone(&self) -> AdtDef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AdtDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AdtDef

    source§

    fn eq(&self, other: &AdtDef) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AdtDef

    source§

    fn eq(&self, other: &AdtDef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for AdtDef

    source§

    impl StructuralEq for AdtDef

    source§

    impl StructuralPartialEq for AdtDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for AdtDef

    source§

    impl StructuralEq for AdtDef

    source§

    impl StructuralPartialEq for AdtDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.AdtDefData.html b/doc/flux_middle/rty/struct.AdtDefData.html index ec28f2fc6b..eeb1393981 100644 --- a/doc/flux_middle/rty/struct.AdtDefData.html +++ b/doc/flux_middle/rty/struct.AdtDefData.html @@ -1,13 +1,13 @@ -AdtDefData in flux_middle::rty - Rust

    Struct flux_middle::rty::AdtDefData

    source ·
    pub struct AdtDefData {
    +AdtDefData in flux_middle::rty - Rust

    Struct flux_middle::rty::AdtDefData

    source ·
    pub struct AdtDefData {
         invariants: Vec<Invariant>,
         sort: Sort,
         opaque: bool,
         rustc: AdtDef,
    -}

    Fields§

    §invariants: Vec<Invariant>§sort: Sort§opaque: bool§rustc: AdtDef

    Trait Implementations§

    source§

    impl Debug for AdtDefData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDefData

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDefData

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDefData

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §invariants: Vec<Invariant>§sort: Sort§opaque: bool§rustc: AdtDef

    Trait Implementations§

    source§

    impl Debug for AdtDefData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDefData

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDefData

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDefData

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for AdtDefData

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for AdtDefData

    source§

    fn eq(&self, other: &AdtDefData) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for AdtDefData

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for AdtDefData

    source§

    fn eq(&self, other: &AdtDefData) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for AdtDefData

    source§

    impl StructuralEq for AdtDefData

    source§

    impl StructuralPartialEq for AdtDefData

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for AdtDefData

    source§

    impl StructuralEq for AdtDefData

    source§

    impl StructuralPartialEq for AdtDefData

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.AliasTy.html b/doc/flux_middle/rty/struct.AliasTy.html index b3eccd3236..e080afe97f 100644 --- a/doc/flux_middle/rty/struct.AliasTy.html +++ b/doc/flux_middle/rty/struct.AliasTy.html @@ -1,36 +1,36 @@ -AliasTy in flux_middle::rty - Rust

    Struct flux_middle::rty::AliasTy

    source ·
    pub struct AliasTy {
    +AliasTy in flux_middle::rty - Rust

    Struct flux_middle::rty::AliasTy

    source ·
    pub struct AliasTy {
         pub args: GenericArgs,
         pub refine_args: RefineArgs,
         pub def_id: DefId,
     }

    Fields§

    §args: GenericArgs§refine_args: RefineArgs

    Holds the refinement-arguments for opaque-types; empty for projections

    -
    §def_id: DefId

    Implementations§

    source§

    impl AliasTy

    source

    pub fn new( +

    §def_id: DefId

    Implementations§

    source§

    impl AliasTy

    source

    pub fn new( def_id: DefId, args: impl Into<GenericArgs>, refine_args: impl Into<RefineArgs> -) -> Self

    source

    pub fn self_ty(&self) -> &Ty

    This method work only with associated type projections (i.e., no opaque tpes)

    -

    Trait Implementations§

    source§

    impl Clone for AliasTy

    source§

    fn clone(&self) -> AliasTy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AliasTy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AliasTy

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AliasTy

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AliasTy

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Self

    source

    pub fn self_ty(&self) -> &Ty

    This method work only with associated type projections (i.e., no opaque tpes)

    +

    Trait Implementations§

    source§

    impl Clone for AliasTy

    source§

    fn clone(&self) -> AliasTy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AliasTy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AliasTy

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AliasTy

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AliasTy

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasTy

    source§

    fn eq(&self, other: &AliasTy) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasTy

    source§

    fn eq(&self, other: &AliasTy) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for AliasTy

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for AliasTy

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for AliasTy

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for AliasTy

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for AliasTy

    source§

    impl StructuralEq for AliasTy

    source§

    impl StructuralPartialEq for AliasTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for AliasTy

    source§

    impl StructuralEq for AliasTy

    source§

    impl StructuralPartialEq for AliasTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.Binder.html b/doc/flux_middle/rty/struct.Binder.html index 8b2c14c2e5..1bb0e5d049 100644 --- a/doc/flux_middle/rty/struct.Binder.html +++ b/doc/flux_middle/rty/struct.Binder.html @@ -1,51 +1,51 @@ -Binder in flux_middle::rty - Rust

    Struct flux_middle::rty::Binder

    source ·
    pub struct Binder<T> {
    +Binder in flux_middle::rty - Rust

    Struct flux_middle::rty::Binder

    source ·
    pub struct Binder<T> {
         vars: List<BoundVariableKind>,
         value: T,
    -}

    Fields§

    §vars: List<BoundVariableKind>§value: T

    Implementations§

    source§

    impl<T> Binder<T>

    source

    pub fn new(value: T, vars: List<BoundVariableKind>) -> Binder<T>

    source

    pub fn with_sorts(value: T, sorts: impl IntoIterator<Item = Sort>) -> Binder<T>

    source

    pub fn with_sort(value: T, sort: Sort) -> Binder<T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn rebind<U>(self, value: U) -> Binder<U>

    source

    pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

    source

    pub fn try_map<U, E>( +}

    Fields§

    §vars: List<BoundVariableKind>§value: T

    Implementations§

    source§

    impl<T> Binder<T>

    source

    pub fn new(value: T, vars: List<BoundVariableKind>) -> Binder<T>

    source

    pub fn with_sorts(value: T, sorts: impl IntoIterator<Item = Sort>) -> Binder<T>

    source

    pub fn with_sort(value: T, sort: Sort) -> Binder<T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn rebind<U>(self, value: U) -> Binder<U>

    source

    pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

    source

    pub fn try_map<U, E>( self, f: impl FnOnce(T) -> Result<U, E> -) -> Result<Binder<U>, E>

    source§

    impl<T> Binder<T>where - T: TypeFoldable,

    source§

    impl<T> Binder<T>where + T: TypeFoldable,

    source

    pub fn replace_bound_vars( &self, replace_region: impl FnMut(BoundRegion) -> Region, replace_expr: impl FnMut(&Sort, InferMode) -> Expr -) -> T

    source

    pub fn replace_bound_exprs(&self, exprs: &[Expr]) -> T

    source

    pub fn replace_bound_expr(&self, expr: &Expr) -> T

    source

    pub fn replace_bound_exprs_with( +) -> T

    source

    pub fn replace_bound_exprs(&self, exprs: &[Expr]) -> T

    source

    pub fn replace_bound_expr(&self, expr: &Expr) -> T

    source

    pub fn replace_bound_exprs_with( &self, f: impl FnMut(&Sort, InferMode) -> Expr -) -> T

    source§

    impl Binder<Ty>

    source

    pub fn into_ty(self) -> Ty

    source§

    impl Binder<Expr>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Pretty> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>where - T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>where - T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> T

    source§

    impl Binder<Ty>

    source

    pub fn into_ty(self) -> Ty

    source§

    impl Binder<Expr>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Pretty> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>where + T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>where + T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Binder<FnOutput>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Pretty for Binder<Expr>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl<T> Pretty for Binder<T>where - T: Pretty,

    source§

    default fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl<T> TypeFoldable for Binder<T>where - T: TypeFoldable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Binder<FnOutput>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Pretty for Binder<Expr>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl<T> Pretty for Binder<T>where + T: Pretty,

    source§

    default fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl<T> TypeFoldable for Binder<T>where + T: TypeFoldable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T> TypeSuperFoldable for Binder<T>where - T: TypeFoldable,

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T> TypeSuperFoldable for Binder<T>where + T: TypeFoldable,

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl<T> TypeSuperVisitable for Binder<T>where - T: TypeVisitable,

    source§

    fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl<T> TypeSuperVisitable for Binder<T>where + T: TypeVisitable,

    source§

    impl<T> TypeVisitable for Binder<T>where - T: TypeVisitable,

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl<T: Eq> Eq for Binder<T>

    source§

    impl<T> StructuralEq for Binder<T>

    source§

    impl<T> StructuralPartialEq for Binder<T>

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Binder<T>where +) -> ControlFlow<V::BreakTy>

    source§

    impl<T> TypeVisitable for Binder<T>where + T: TypeVisitable,

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl<T: Eq> Eq for Binder<T>

    source§

    impl<T> StructuralEq for Binder<T>

    source§

    impl<T> StructuralPartialEq for Binder<T>

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for Binder<T>where T: RefUnwindSafe,

    §

    impl<T> Send for Binder<T>where T: Send,

    §

    impl<T> Sync for Binder<T>where T: Sync,

    §

    impl<T> Unpin for Binder<T>where diff --git a/doc/flux_middle/rty/struct.Clause.html b/doc/flux_middle/rty/struct.Clause.html index 40db198c8e..6afaa2d3aa 100644 --- a/doc/flux_middle/rty/struct.Clause.html +++ b/doc/flux_middle/rty/struct.Clause.html @@ -1,25 +1,25 @@ Clause in flux_middle::rty - Rust

    Struct flux_middle::rty::Clause

    source ·
    pub struct Clause {
         kind: Binder<ClauseKind>,
    -}

    Fields§

    §kind: Binder<ClauseKind>

    Implementations§

    source§

    impl Clause

    source

    pub fn new(vars: impl Into<List<BoundVariableKind>>, kind: ClauseKind) -> Self

    source

    pub fn kind(&self) -> ClauseKind

    Trait Implementations§

    source§

    impl Clone for Clause

    source§

    fn clone(&self) -> Clause

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Clause

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Clause

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §kind: Binder<ClauseKind>

    Implementations§

    source§

    impl Clause

    source

    pub fn new(vars: impl Into<List<BoundVariableKind>>, kind: ClauseKind) -> Self

    source

    pub fn kind(&self) -> ClauseKind

    Trait Implementations§

    source§

    impl Clone for Clause

    source§

    fn clone(&self) -> Clause

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Clause

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Clause

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Clause

    source§

    fn eq(&self, other: &Clause) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for Clause

    source§

    impl TypeFoldable for Clause

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for Clause

    source§

    impl TypeFoldable for Clause

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Clause

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Clause

    source§

    impl StructuralEq for Clause

    source§

    impl StructuralPartialEq for Clause

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Clause

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Clause

    source§

    impl StructuralEq for Clause

    source§

    impl StructuralPartialEq for Clause

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.ClosureOblig.html b/doc/flux_middle/rty/struct.ClosureOblig.html index 352034c7b9..ddb56d62ac 100644 --- a/doc/flux_middle/rty/struct.ClosureOblig.html +++ b/doc/flux_middle/rty/struct.ClosureOblig.html @@ -1,7 +1,7 @@ -ClosureOblig in flux_middle::rty - Rust
    pub struct ClosureOblig {
    +ClosureOblig in flux_middle::rty - Rust
    pub struct ClosureOblig {
         pub oblig_def_id: DefId,
         pub oblig_sig: PolyFnSig,
    -}

    Fields§

    §oblig_def_id: DefId§oblig_sig: PolyFnSig

    Trait Implementations§

    source§

    impl Debug for ClosureOblig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §oblig_def_id: DefId§oblig_sig: PolyFnSig

    Trait Implementations§

    source§

    impl Debug for ClosureOblig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/struct.Defn.html b/doc/flux_middle/rty/struct.Defn.html index 1ce17dfcab..f308f9b490 100644 --- a/doc/flux_middle/rty/struct.Defn.html +++ b/doc/flux_middle/rty/struct.Defn.html @@ -1,4 +1,4 @@ -Defn in flux_middle::rty - Rust

    Struct flux_middle::rty::Defn

    source ·
    pub struct Defn {
    +Defn in flux_middle::rty - Rust

    Struct flux_middle::rty::Defn

    source ·
    pub struct Defn {
         pub name: Symbol,
         pub expr: Binder<Expr>,
     }

    Fields§

    §name: Symbol§expr: Binder<Expr>

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Defn

    §

    impl Send for Defn

    §

    impl Sync for Defn

    §

    impl Unpin for Defn

    §

    impl UnwindSafe for Defn

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_middle/rty/struct.EarlyBinder.html b/doc/flux_middle/rty/struct.EarlyBinder.html index 7b5dab9a72..31366a8a39 100644 --- a/doc/flux_middle/rty/struct.EarlyBinder.html +++ b/doc/flux_middle/rty/struct.EarlyBinder.html @@ -1,19 +1,19 @@ -EarlyBinder in flux_middle::rty - Rust
    pub struct EarlyBinder<T>(pub T);

    Tuple Fields§

    §0: T

    Implementations§

    source§

    impl<T> EarlyBinder<T>

    source

    pub fn as_ref(&self) -> EarlyBinder<&T>

    source

    pub fn as_deref(&self) -> EarlyBinder<&T::Target>where - T: Deref,

    source

    pub fn map<U>(self, f: impl FnOnce(T) -> U) -> EarlyBinder<U>

    source

    pub fn try_map<U, E>( +EarlyBinder in flux_middle::rty - Rust
    pub struct EarlyBinder<T>(pub T);

    Tuple Fields§

    §0: T

    Implementations§

    source§

    impl<T> EarlyBinder<T>

    source

    pub fn as_ref(&self) -> EarlyBinder<&T>

    source

    pub fn as_deref(&self) -> EarlyBinder<&T::Target>where + T: Deref,

    source

    pub fn map<U>(self, f: impl FnOnce(T) -> U) -> EarlyBinder<U>

    source

    pub fn try_map<U, E>( self, f: impl FnOnce(T) -> Result<U, E> -) -> Result<EarlyBinder<U>, E>

    source

    pub fn skip_binder(self) -> T

    source§

    impl<T: TypeFoldable> EarlyBinder<T>

    source

    pub fn instantiate(self, args: &[GenericArg], refine_args: &[Expr]) -> T

    source

    pub fn instantiate_identity(self, refine_args: &[Expr]) -> T

    source§

    impl EarlyBinder<GenericPredicates>

    source§

    impl<T: TypeFoldable> EarlyBinder<T>

    source

    pub fn instantiate(self, args: &[GenericArg], refine_args: &[Expr]) -> T

    source

    pub fn instantiate_identity(self, refine_args: &[Expr]) -> T

    source§

    impl EarlyBinder<GenericPredicates>

    source

    pub fn predicates(&self) -> EarlyBinder<List<Clause>>

    source

    pub fn instantiate_identity( self, genv: &GlobalEnv<'_, '_>, refine_args: &[Expr] -) -> QueryResult<Vec<Clause>>

    source

    fn instantiate_identity_into( +) -> QueryResult<Vec<Clause>>

    source

    fn instantiate_identity_into( self, genv: &GlobalEnv<'_, '_>, refine_args: &[Expr], predicates: &mut Vec<Clause> -) -> QueryResult<()>

    source§

    impl EarlyBinder<PolyVariant>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for EarlyBinder<T>

    source§

    fn clone(&self) -> EarlyBinder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for EarlyBinder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>where - T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: TyEncoder> Encodable<__E> for EarlyBinder<T>where - T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for EarlyBinder<T>where +) -> QueryResult<()>

    source§

    impl EarlyBinder<PolyVariant>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for EarlyBinder<T>

    source§

    fn clone(&self) -> EarlyBinder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for EarlyBinder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>where + T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<T, __E: TyEncoder> Encodable<__E> for EarlyBinder<T>where + T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for EarlyBinder<T>where T: RefUnwindSafe,

    §

    impl<T> Send for EarlyBinder<T>where T: Send,

    §

    impl<T> Sync for EarlyBinder<T>where T: Sync,

    §

    impl<T> Unpin for EarlyBinder<T>where diff --git a/doc/flux_middle/rty/struct.FnOutput.html b/doc/flux_middle/rty/struct.FnOutput.html index 1db11d17a2..ba79acefe3 100644 --- a/doc/flux_middle/rty/struct.FnOutput.html +++ b/doc/flux_middle/rty/struct.FnOutput.html @@ -1,25 +1,25 @@ -FnOutput in flux_middle::rty - Rust

    Struct flux_middle::rty::FnOutput

    source ·
    pub struct FnOutput {
    +FnOutput in flux_middle::rty - Rust

    Struct flux_middle::rty::FnOutput

    source ·
    pub struct FnOutput {
         pub ret: Ty,
         pub ensures: List<Constraint>,
    -}

    Fields§

    §ret: Ty§ensures: List<Constraint>

    Implementations§

    source§

    impl FnOutput

    source

    pub fn new(ret: Ty, ensures: impl Into<List<Constraint>>) -> Self

    Trait Implementations§

    source§

    impl Clone for FnOutput

    source§

    fn clone(&self) -> FnOutput

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnOutput

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FnOutput

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FnOutput

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl TypeFoldable for FnOutput

    Fields§

    §ret: Ty§ensures: List<Constraint>

    Implementations§

    source§

    impl FnOutput

    source

    pub fn new(ret: Ty, ensures: impl Into<List<Constraint>>) -> Self

    Trait Implementations§

    source§

    impl Clone for FnOutput

    source§

    fn clone(&self) -> FnOutput

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnOutput

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FnOutput

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FnOutput

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl TypeFoldable for FnOutput

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for FnOutput

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for FnOutput

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/struct.FnSig.html b/doc/flux_middle/rty/struct.FnSig.html index df93f49666..f1119421ba 100644 --- a/doc/flux_middle/rty/struct.FnSig.html +++ b/doc/flux_middle/rty/struct.FnSig.html @@ -1,30 +1,30 @@ -FnSig in flux_middle::rty - Rust

    Struct flux_middle::rty::FnSig

    source ·
    pub struct FnSig {
    +FnSig in flux_middle::rty - Rust

    Struct flux_middle::rty::FnSig

    source ·
    pub struct FnSig {
         requires: List<Constraint>,
         args: List<Ty>,
         output: Binder<FnOutput>,
    -}

    Fields§

    §requires: List<Constraint>§args: List<Ty>§output: Binder<FnOutput>

    Implementations§

    source§

    impl FnSig

    source

    pub fn new( +}

    Fields§

    §requires: List<Constraint>§args: List<Ty>§output: Binder<FnOutput>

    Implementations§

    source§

    impl FnSig

    source

    pub fn new( requires: impl Into<List<Constraint>>, args: impl Into<List<Ty>>, output: Binder<FnOutput> -) -> Self

    source

    pub fn requires(&self) -> &Constraints

    source

    pub fn args(&self) -> &[Ty]

    source

    pub fn output(&self) -> &Binder<FnOutput>

    Trait Implementations§

    source§

    impl Clone for FnSig

    source§

    fn clone(&self) -> FnSig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnSig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FnSig

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FnSig

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Pretty for FnSig

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for FnSig

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +) -> Self

    source

    pub fn requires(&self) -> &Constraints

    source

    pub fn args(&self) -> &[Ty]

    source

    pub fn output(&self) -> &Binder<FnOutput>

    Trait Implementations§

    source§

    impl Clone for FnSig

    source§

    fn clone(&self) -> FnSig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnSig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FnSig

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FnSig

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Pretty for FnSig

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for FnSig

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for FnSig

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for FnSig

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FnSig

    §

    impl Send for FnSig

    §

    impl Sync for FnSig

    §

    impl Unpin for FnSig

    §

    impl UnwindSafe for FnSig

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FnSig

    §

    impl Send for FnSig

    §

    impl Sync for FnSig

    §

    impl Unpin for FnSig

    §

    impl UnwindSafe for FnSig

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/struct.FnTraitPredicate.html b/doc/flux_middle/rty/struct.FnTraitPredicate.html index e2e27a3da7..b0e365f048 100644 --- a/doc/flux_middle/rty/struct.FnTraitPredicate.html +++ b/doc/flux_middle/rty/struct.FnTraitPredicate.html @@ -1,28 +1,28 @@ -FnTraitPredicate in flux_middle::rty - Rust
    pub struct FnTraitPredicate {
    +FnTraitPredicate in flux_middle::rty - Rust
    pub struct FnTraitPredicate {
         pub self_ty: Ty,
         pub tupled_args: Ty,
         pub output: Ty,
         pub kind: ClosureKind,
    -}

    Fields§

    §self_ty: Ty§tupled_args: Ty§output: Ty§kind: ClosureKind

    Implementations§

    source§

    impl FnTraitPredicate

    source

    pub fn to_closure_sig(&self, closure_id: DefId, tys: List<Ty>) -> PolyFnSig

    Trait Implementations§

    source§

    impl Clone for FnTraitPredicate

    source§

    fn clone(&self) -> FnTraitPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnTraitPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for FnTraitPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §self_ty: Ty§tupled_args: Ty§output: Ty§kind: ClosureKind

    Implementations§

    source§

    impl FnTraitPredicate

    source

    pub fn to_closure_sig(&self, closure_id: DefId, tys: List<Ty>) -> PolyFnSig

    Trait Implementations§

    source§

    impl Clone for FnTraitPredicate

    source§

    fn clone(&self) -> FnTraitPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnTraitPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for FnTraitPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FnTraitPredicate

    source§

    fn eq(&self, other: &FnTraitPredicate) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FnTraitPredicate

    source§

    fn eq(&self, other: &FnTraitPredicate) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for FnTraitPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for FnTraitPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for FnTraitPredicate

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for FnTraitPredicate

    source§

    impl StructuralEq for FnTraitPredicate

    source§

    impl StructuralPartialEq for FnTraitPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for FnTraitPredicate

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for FnTraitPredicate

    source§

    impl StructuralEq for FnTraitPredicate

    source§

    impl StructuralPartialEq for FnTraitPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.FuncDecl.html b/doc/flux_middle/rty/struct.FuncDecl.html index 190ac12656..1eab16b6eb 100644 --- a/doc/flux_middle/rty/struct.FuncDecl.html +++ b/doc/flux_middle/rty/struct.FuncDecl.html @@ -1,8 +1,8 @@ -FuncDecl in flux_middle::rty - Rust

    Struct flux_middle::rty::FuncDecl

    source ·
    pub struct FuncDecl {
    +FuncDecl in flux_middle::rty - Rust

    Struct flux_middle::rty::FuncDecl

    source ·
    pub struct FuncDecl {
         pub name: Symbol,
         pub sort: PolyFuncSort,
         pub kind: FuncKind,
    -}

    Fields§

    §name: Symbol§sort: PolyFuncSort§kind: FuncKind

    Trait Implementations§

    source§

    impl Debug for FuncDecl

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §name: Symbol§sort: PolyFuncSort§kind: FuncKind

    Trait Implementations§

    source§

    impl Debug for FuncDecl

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/struct.FuncSort.html b/doc/flux_middle/rty/struct.FuncSort.html index c968f020f2..662805a9d7 100644 --- a/doc/flux_middle/rty/struct.FuncSort.html +++ b/doc/flux_middle/rty/struct.FuncSort.html @@ -1,10 +1,10 @@ -FuncSort in flux_middle::rty - Rust

    Struct flux_middle::rty::FuncSort

    source ·
    pub struct FuncSort {
    +FuncSort in flux_middle::rty - Rust

    Struct flux_middle::rty::FuncSort

    source ·
    pub struct FuncSort {
         inputs_and_output: List<Sort>,
    -}

    Fields§

    §inputs_and_output: List<Sort>

    Implementations§

    source§

    impl FuncSort

    source

    pub fn new(inputs: Vec<Sort>, output: Sort) -> Self

    source

    pub fn inputs(&self) -> &[Sort]

    source

    pub fn output(&self) -> &Sort

    Trait Implementations§

    source§

    impl Clone for FuncSort

    source§

    fn clone(&self) -> FuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FuncSort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FuncSort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §inputs_and_output: List<Sort>

    Implementations§

    source§

    impl FuncSort

    source

    pub fn new(inputs: Vec<Sort>, output: Sort) -> Self

    source

    pub fn inputs(&self) -> &[Sort]

    source

    pub fn output(&self) -> &Sort

    Trait Implementations§

    source§

    impl Clone for FuncSort

    source§

    fn clone(&self) -> FuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FuncSort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FuncSort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FuncSort

    source§

    fn eq(&self, other: &FuncSort) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FuncSort

    source§

    fn eq(&self, other: &FuncSort) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for FuncSort

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for FuncSort

    source§

    impl StructuralEq for FuncSort

    source§

    impl StructuralPartialEq for FuncSort

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for FuncSort

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for FuncSort

    source§

    impl StructuralEq for FuncSort

    source§

    impl StructuralPartialEq for FuncSort

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.GeneratorArgs.html b/doc/flux_middle/rty/struct.GeneratorArgs.html index 23400735d0..675e14bfc7 100644 --- a/doc/flux_middle/rty/struct.GeneratorArgs.html +++ b/doc/flux_middle/rty/struct.GeneratorArgs.html @@ -1,6 +1,6 @@ -GeneratorArgs in flux_middle::rty - Rust
    pub struct GeneratorArgs {
    +GeneratorArgs in flux_middle::rty - Rust
    pub struct GeneratorArgs {
         pub args: GenericArgs,
    -}

    Fields§

    §args: GenericArgs

    Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §args: GenericArgs

    Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/struct.GeneratorObligPredicate.html b/doc/flux_middle/rty/struct.GeneratorObligPredicate.html index 269f9c759a..6e8e1c3526 100644 --- a/doc/flux_middle/rty/struct.GeneratorObligPredicate.html +++ b/doc/flux_middle/rty/struct.GeneratorObligPredicate.html @@ -1,30 +1,30 @@ -GeneratorObligPredicate in flux_middle::rty - Rust
    pub struct GeneratorObligPredicate {
    +GeneratorObligPredicate in flux_middle::rty - Rust
    pub struct GeneratorObligPredicate {
         pub def_id: DefId,
         pub args: GenericArgs,
         pub output: Ty,
    -}

    Fields§

    §def_id: DefId§args: GenericArgs§output: Ty

    Implementations§

    Trait Implementations§

    source§

    impl Clone for GeneratorObligPredicate

    source§

    fn clone(&self) -> GeneratorObligPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GeneratorObligPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for GeneratorObligPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §def_id: DefId§args: GenericArgs§output: Ty

    Implementations§

    Trait Implementations§

    source§

    impl Clone for GeneratorObligPredicate

    source§

    fn clone(&self) -> GeneratorObligPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GeneratorObligPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for GeneratorObligPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GeneratorObligPredicate

    source§

    fn eq(&self, other: &GeneratorObligPredicate) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GeneratorObligPredicate

    source§

    fn eq(&self, other: &GeneratorObligPredicate) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for GeneratorObligPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for GeneratorObligPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for GeneratorObligPredicate

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for GeneratorObligPredicate

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for GeneratorObligPredicate

    source§

    impl StructuralEq for GeneratorObligPredicate

    source§

    impl StructuralPartialEq for GeneratorObligPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for GeneratorObligPredicate

    source§

    impl StructuralEq for GeneratorObligPredicate

    source§

    impl StructuralPartialEq for GeneratorObligPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.GenericParamDef.html b/doc/flux_middle/rty/struct.GenericParamDef.html index c58e2a072f..ec51fbda16 100644 --- a/doc/flux_middle/rty/struct.GenericParamDef.html +++ b/doc/flux_middle/rty/struct.GenericParamDef.html @@ -7,7 +7,7 @@ H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GenericParamDef

    source§

    fn eq(&self, other: &GenericParamDef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for GenericParamDef

    source§

    impl Eq for GenericParamDef

    source§

    impl StructuralEq for GenericParamDef

    source§

    impl StructuralPartialEq for GenericParamDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for GenericParamDef

    source§

    impl Eq for GenericParamDef

    source§

    impl StructuralEq for GenericParamDef

    source§

    impl StructuralPartialEq for GenericParamDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.Generics.html b/doc/flux_middle/rty/struct.Generics.html index 3ccc65d032..8113eeb3a1 100644 --- a/doc/flux_middle/rty/struct.Generics.html +++ b/doc/flux_middle/rty/struct.Generics.html @@ -4,15 +4,15 @@ pub parent: Option<DefId>, pub parent_count: usize, pub parent_refine_count: usize, -}

    Fields§

    §params: List<GenericParamDef>§refine_params: List<RefineParam>§parent: Option<DefId>§parent_count: usize§parent_refine_count: usize

    Implementations§

    source§

    impl Generics

    source

    pub fn param_at( +}

    Fields§

    §params: List<GenericParamDef>§refine_params: List<RefineParam>§parent: Option<DefId>§parent_count: usize§parent_refine_count: usize

    Implementations§

    source§

    impl Generics

    source

    pub fn param_at( &self, param_index: usize, genv: &GlobalEnv<'_, '_> -) -> QueryResult<GenericParamDef>

    source

    pub fn refine_count(&self) -> usize

    source

    pub fn refine_param_at( +) -> QueryResult<GenericParamDef>

    source

    pub fn refine_count(&self) -> usize

    source

    pub fn refine_param_at( &self, param_index: usize, genv: &GlobalEnv<'_, '_> -) -> QueryResult<RefineParam>

    source

    pub fn collect_all_refine_params<T, S>( +) -> QueryResult<RefineParam>

    source

    pub fn collect_all_refine_params<T, S>( &self, genv: &GlobalEnv<'_, '_>, f: impl FnMut(RefineParam) -> T diff --git a/doc/flux_middle/rty/struct.Index.html b/doc/flux_middle/rty/struct.Index.html index d552a917cd..a14ea54a48 100644 --- a/doc/flux_middle/rty/struct.Index.html +++ b/doc/flux_middle/rty/struct.Index.html @@ -1,29 +1,29 @@ -Index in flux_middle::rty - Rust

    Struct flux_middle::rty::Index

    source ·
    pub struct Index {
    +Index in flux_middle::rty - Rust

    Struct flux_middle::rty::Index

    source ·
    pub struct Index {
         pub expr: Expr,
         pub is_binder: TupleTree<bool>,
    -}

    Fields§

    §expr: Expr§is_binder: TupleTree<bool>

    Implementations§

    source§

    impl Index

    source

    pub(crate) fn unit() -> Self

    Trait Implementations§

    source§

    impl Clone for Index

    source§

    fn clone(&self) -> Index

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Index

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Index

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Index

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<(Interned<ExprS>, TupleTree<bool>)> for Index

    source§

    fn from((expr, is_binder): (Expr, TupleTree<bool>)) -> Self

    Converts to this type from the input type.
    source§

    impl From<Interned<ExprS>> for Index

    source§

    fn from(expr: Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<ValueConst> for Index

    source§

    fn from(value: ValueConst) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Index

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §expr: Expr§is_binder: TupleTree<bool>

    Implementations§

    source§

    impl Index

    source

    pub(crate) fn unit() -> Self

    Trait Implementations§

    source§

    impl Clone for Index

    source§

    fn clone(&self) -> Index

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Index

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Index

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Index

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<(Interned<ExprS>, TupleTree<bool>)> for Index

    source§

    fn from((expr, is_binder): (Expr, TupleTree<bool>)) -> Self

    Converts to this type from the input type.
    source§

    impl From<Interned<ExprS>> for Index

    source§

    fn from(expr: Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<ValueConst> for Index

    source§

    fn from(value: ValueConst) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Index

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Index

    source§

    fn eq(&self, other: &Index) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Index

    source§

    fn eq(&self, other: &Index) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Index

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for Index

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Index

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for Index

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Index

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Index

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Index

    source§

    impl StructuralEq for Index

    source§

    impl StructuralPartialEq for Index

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Index

    §

    impl Send for Index

    §

    impl Sync for Index

    §

    impl Unpin for Index

    §

    impl UnwindSafe for Index

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Index

    source§

    impl StructuralEq for Index

    source§

    impl StructuralPartialEq for Index

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Index

    §

    impl Send for Index

    §

    impl Sync for Index

    §

    impl Unpin for Index

    §

    impl UnwindSafe for Index

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.Invariant.html b/doc/flux_middle/rty/struct.Invariant.html index de3f7dbfca..2ac569d45d 100644 --- a/doc/flux_middle/rty/struct.Invariant.html +++ b/doc/flux_middle/rty/struct.Invariant.html @@ -1,28 +1,28 @@ -Invariant in flux_middle::rty - Rust

    Struct flux_middle::rty::Invariant

    source ·
    pub struct Invariant {
    +Invariant in flux_middle::rty - Rust

    Struct flux_middle::rty::Invariant

    source ·
    pub struct Invariant {
         pub pred: Binder<Expr>,
    -}

    Fields§

    §pred: Binder<Expr>

    Trait Implementations§

    source§

    impl Clone for Invariant

    source§

    fn clone(&self) -> Invariant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Invariant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Invariant

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Invariant

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Invariant

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §pred: Binder<Expr>

    Trait Implementations§

    source§

    impl Clone for Invariant

    source§

    fn clone(&self) -> Invariant

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Invariant

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Invariant

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Invariant

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Invariant

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Invariant

    source§

    fn eq(&self, other: &Invariant) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Invariant

    source§

    fn eq(&self, other: &Invariant) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for Invariant

    source§

    impl TypeFoldable for Invariant

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for Invariant

    source§

    impl TypeFoldable for Invariant

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Invariant

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Invariant

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Invariant

    source§

    impl StructuralEq for Invariant

    source§

    impl StructuralPartialEq for Invariant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for Invariant

    source§

    impl StructuralEq for Invariant

    source§

    impl StructuralPartialEq for Invariant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.KVar.html b/doc/flux_middle/rty/struct.KVar.html index fad79578b8..9657b93856 100644 --- a/doc/flux_middle/rty/struct.KVar.html +++ b/doc/flux_middle/rty/struct.KVar.html @@ -9,29 +9,29 @@

    Fields§

    §kvid: KVid§self_args: usize

    The number of arguments consider to be self arguments.

    §args: List<Expr>

    The list of all arguments with the self arguments at the beginning, i.e., the list of self arguments followed by the scope.

    -

    Implementations§

    source§

    impl KVar

    source

    pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

    source

    fn self_args(&self) -> &[Expr]

    source

    fn scope(&self) -> &[Expr]

    Trait Implementations§

    source§

    impl Clone for KVar

    source§

    fn clone(&self) -> KVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for KVar

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for KVar

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for KVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Implementations§

    source§

    impl KVar

    source

    pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

    source

    fn self_args(&self) -> &[Expr]

    source

    fn scope(&self) -> &[Expr]

    Trait Implementations§

    source§

    impl Clone for KVar

    source§

    fn clone(&self) -> KVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for KVar

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for KVar

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for KVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for KVar

    source§

    fn eq(&self, other: &KVar) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for KVar

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for KVar

    source§

    impl TypeFoldable for KVar

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for KVar

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for KVar

    source§

    impl TypeFoldable for KVar

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for KVar

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for KVar

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for KVar

    source§

    impl StructuralEq for KVar

    source§

    impl StructuralPartialEq for KVar

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVar

    §

    impl Send for KVar

    §

    impl Sync for KVar

    §

    impl Unpin for KVar

    §

    impl UnwindSafe for KVar

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for KVar

    source§

    impl StructuralEq for KVar

    source§

    impl StructuralPartialEq for KVar

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVar

    §

    impl Send for KVar

    §

    impl Sync for KVar

    §

    impl Unpin for KVar

    §

    impl UnwindSafe for KVar

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.KVid.html b/doc/flux_middle/rty/struct.KVid.html index 06b9bc8c60..edcda9c981 100644 --- a/doc/flux_middle/rty/struct.KVid.html +++ b/doc/flux_middle/rty/struct.KVid.html @@ -16,7 +16,7 @@
    Safety

    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for KVid

    §

    type Output = KVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for KVid

    source§

    fn clone(&self) -> KVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for KVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for KVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<KVid> for u32

    source§

    fn from(v: KVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<KVid> for usize

    source§

    fn from(v: KVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for KVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for KVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for KVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for KVid

    §

    type Output = KVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for KVid

    source§

    fn clone(&self) -> KVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for KVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for KVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<KVid> for u32

    source§

    fn from(v: KVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<KVid> for usize

    source§

    fn from(v: KVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for KVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for KVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for KVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for KVid

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for KVid

    source§

    fn cmp(&self, other: &KVid) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/rty/struct.Name.html b/doc/flux_middle/rty/struct.Name.html index 687f933553..af5e2d884d 100644 --- a/doc/flux_middle/rty/struct.Name.html +++ b/doc/flux_middle/rty/struct.Name.html @@ -16,7 +16,7 @@
    Safety

    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    -

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Trait Implementations§

    source§

    impl Add<usize> for Name

    §

    type Output = Name

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for Name

    source§

    fn clone(&self) -> Name

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Name

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for Name

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for Name

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Loc

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for u32

    source§

    fn from(v: Name) -> u32

    Converts to this type from the input type.
    source§

    impl From<Name> for usize

    source§

    fn from(v: Name) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for Name

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for Name

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Name

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for Name

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for Name

    source§

    fn cmp(&self, other: &Name) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_middle/rty/struct.OutlivesPredicate.html b/doc/flux_middle/rty/struct.OutlivesPredicate.html new file mode 100644 index 0000000000..65f3a90b8f --- /dev/null +++ b/doc/flux_middle/rty/struct.OutlivesPredicate.html @@ -0,0 +1,49 @@ +OutlivesPredicate in flux_middle::rty - Rust
    pub struct OutlivesPredicate<A, B>(pub A, pub B);
    Expand description

    A: B

    +

    Tuple Fields§

    §0: A§1: B

    Trait Implementations§

    source§

    impl<T: TypeFoldable, U: TypeFoldable> TypeFoldable for OutlivesPredicate<T, U>

    source§

    fn try_fold_with<F: FallibleTypeFolder>( + &self, + folder: &mut F +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( + &self, + genv: &GlobalEnv<'_, 'tcx>, + infcx: &InferCtxt<'tcx>, + callsite_def_id: DefId, + refine_params: &[Expr] +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +all the layers of bound variables at the point the hole was found. Each layer corresponds +to the list of sorts bound at that level. The list is ordered from outermost to innermost +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +hole. It also replaces all existing predicates with a hole. +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T: TypeVisitable, U: TypeVisitable> TypeVisitable for OutlivesPredicate<T, U>

    source§

    fn visit_with<V: TypeVisitor>( + &self, + visitor: &mut V +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    §

    impl<A, B> RefUnwindSafe for OutlivesPredicate<A, B>where + A: RefUnwindSafe, + B: RefUnwindSafe,

    §

    impl<A, B> Send for OutlivesPredicate<A, B>where + A: Send, + B: Send,

    §

    impl<A, B> Sync for OutlivesPredicate<A, B>where + A: Sync, + B: Sync,

    §

    impl<A, B> Unpin for OutlivesPredicate<A, B>where + A: Unpin, + B: Unpin,

    §

    impl<A, B> UnwindSafe for OutlivesPredicate<A, B>where + A: UnwindSafe, + B: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere + Q: Ord + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/struct.ParamTy.html b/doc/flux_middle/rty/struct.ParamTy.html index 94b57779a3..f8bad4cedb 100644 --- a/doc/flux_middle/rty/struct.ParamTy.html +++ b/doc/flux_middle/rty/struct.ParamTy.html @@ -1,4 +1,4 @@ -ParamTy in flux_middle::rty - Rust

    Struct flux_middle::rty::ParamTy

    source ·
    pub struct ParamTy {
    +ParamTy in flux_middle::rty - Rust

    Struct flux_middle::rty::ParamTy

    source ·
    pub struct ParamTy {
         pub index: u32,
         pub name: Symbol,
     }

    Fields§

    §index: u32§name: Symbol

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere @@ -19,4 +19,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/struct.Path.html b/doc/flux_middle/rty/struct.Path.html index 5376eeb148..bc2cb9f119 100644 --- a/doc/flux_middle/rty/struct.Path.html +++ b/doc/flux_middle/rty/struct.Path.html @@ -1,7 +1,7 @@ Path in flux_middle::rty - Rust

    Struct flux_middle::rty::Path

    source ·
    pub struct Path {
         pub loc: Loc,
         projection: List<FieldIdx>,
    -}

    Fields§

    §loc: Loc§projection: List<FieldIdx>

    Implementations§

    source§

    impl Path

    source

    pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

    source

    pub fn from_place(place: &Place) -> Option<Path>

    source

    pub fn projection(&self) -> &[FieldIdx]

    source

    pub fn to_expr(&self) -> Expr

    source

    pub fn to_loc(&self) -> Option<Loc>

    Trait Implementations§

    source§

    impl Clone for Path

    source§

    fn clone(&self) -> Path

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Path

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Path

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Path

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Path

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §loc: Loc§projection: List<FieldIdx>

    Implementations§

    source§

    impl Path

    source

    pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

    source

    pub fn from_place(place: &Place) -> Option<Path>

    source

    pub fn projection(&self) -> &[FieldIdx]

    source

    pub fn to_expr(&self) -> Expr

    source

    pub fn to_loc(&self) -> Option<Loc>

    Trait Implementations§

    source§

    impl Clone for Path

    source§

    fn clone(&self) -> Path

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Path

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for Path

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for Path

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<Loc> for Path

    source§

    fn from(loc: Loc) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Path

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for Path

    source§

    fn cmp(&self, other: &Path) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere @@ -10,7 +10,7 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for Path

    source§

    fn partial_cmp(&self, other: &Path) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Pretty for Path

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Path

    source§

    impl StructuralEq for Path

    source§

    impl StructuralPartialEq for Path

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Path

    §

    impl Send for Path

    §

    impl Sync for Path

    §

    impl Unpin for Path

    §

    impl UnwindSafe for Path

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +operator. Read more

    source§

    impl Pretty for Path

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for Path

    source§

    impl StructuralEq for Path

    source§

    impl StructuralPartialEq for Path

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Path

    §

    impl Send for Path

    §

    impl Sync for Path

    §

    impl Unpin for Path

    §

    impl UnwindSafe for Path

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.PolyFuncSort.html b/doc/flux_middle/rty/struct.PolyFuncSort.html index 2c4a183e17..084e236071 100644 --- a/doc/flux_middle/rty/struct.PolyFuncSort.html +++ b/doc/flux_middle/rty/struct.PolyFuncSort.html @@ -1,11 +1,11 @@ -PolyFuncSort in flux_middle::rty - Rust
    pub struct PolyFuncSort {
    +PolyFuncSort in flux_middle::rty - Rust
    pub struct PolyFuncSort {
         params: usize,
         fsort: FuncSort,
    -}

    Fields§

    §params: usize§fsort: FuncSort

    Implementations§

    source§

    impl PolyFuncSort

    source

    pub fn skip_binders(&self) -> FuncSort

    source

    pub fn params(&self) -> usize

    source

    pub fn new(params: usize, fsort: FuncSort) -> Self

    Trait Implementations§

    source§

    impl Clone for PolyFuncSort

    source§

    fn clone(&self) -> PolyFuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PolyFuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for PolyFuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §params: usize§fsort: FuncSort

    Implementations§

    source§

    impl PolyFuncSort

    source

    pub fn skip_binders(&self) -> FuncSort

    source

    pub fn params(&self) -> usize

    source

    pub fn new(params: usize, fsort: FuncSort) -> Self

    Trait Implementations§

    source§

    impl Clone for PolyFuncSort

    source§

    fn clone(&self) -> PolyFuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PolyFuncSort

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for PolyFuncSort

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for PolyFuncSort

    source§

    fn eq(&self, other: &PolyFuncSort) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for PolyFuncSort

    source§

    fn eq(&self, other: &PolyFuncSort) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for PolyFuncSort

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for PolyFuncSort

    source§

    impl StructuralEq for PolyFuncSort

    source§

    impl StructuralPartialEq for PolyFuncSort

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for PolyFuncSort

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for PolyFuncSort

    source§

    impl StructuralEq for PolyFuncSort

    source§

    impl StructuralPartialEq for PolyFuncSort

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.ProjectionPredicate.html b/doc/flux_middle/rty/struct.ProjectionPredicate.html index b8b8523951..4502f61ed8 100644 --- a/doc/flux_middle/rty/struct.ProjectionPredicate.html +++ b/doc/flux_middle/rty/struct.ProjectionPredicate.html @@ -1,29 +1,29 @@ -ProjectionPredicate in flux_middle::rty - Rust
    pub struct ProjectionPredicate {
    +ProjectionPredicate in flux_middle::rty - Rust
    pub struct ProjectionPredicate {
         pub projection_ty: AliasTy,
         pub term: Ty,
    -}

    Fields§

    §projection_ty: AliasTy§term: Ty

    Trait Implementations§

    source§

    impl Clone for ProjectionPredicate

    source§

    fn clone(&self) -> ProjectionPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ProjectionPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ProjectionPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §projection_ty: AliasTy§term: Ty

    Trait Implementations§

    source§

    impl Clone for ProjectionPredicate

    source§

    fn clone(&self) -> ProjectionPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ProjectionPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ProjectionPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ProjectionPredicate

    source§

    fn eq(&self, other: &ProjectionPredicate) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ProjectionPredicate

    source§

    fn eq(&self, other: &ProjectionPredicate) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for ProjectionPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for ProjectionPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for ProjectionPredicate

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for ProjectionPredicate

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for ProjectionPredicate

    source§

    impl StructuralEq for ProjectionPredicate

    source§

    impl StructuralPartialEq for ProjectionPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for ProjectionPredicate

    source§

    impl StructuralEq for ProjectionPredicate

    source§

    impl StructuralPartialEq for ProjectionPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.Qualifier.html b/doc/flux_middle/rty/struct.Qualifier.html index 5cc38a1b75..8e65fc18db 100644 --- a/doc/flux_middle/rty/struct.Qualifier.html +++ b/doc/flux_middle/rty/struct.Qualifier.html @@ -1,26 +1,26 @@ -Qualifier in flux_middle::rty - Rust

    Struct flux_middle::rty::Qualifier

    source ·
    pub struct Qualifier {
    +Qualifier in flux_middle::rty - Rust

    Struct flux_middle::rty::Qualifier

    source ·
    pub struct Qualifier {
         pub name: Symbol,
         pub body: Binder<Expr>,
         pub global: bool,
    -}

    Fields§

    §name: Symbol§body: Binder<Expr>§global: bool

    Implementations§

    Trait Implementations§

    source§

    impl Debug for Qualifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl TypeFoldable for Qualifier

    Fields§

    §name: Symbol§body: Binder<Expr>§global: bool

    Trait Implementations§

    source§

    impl Debug for Qualifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl TypeFoldable for Qualifier

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Qualifier

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Qualifier

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/struct.RefineParam.html b/doc/flux_middle/rty/struct.RefineParam.html index 4feabcb05f..f868c46924 100644 --- a/doc/flux_middle/rty/struct.RefineParam.html +++ b/doc/flux_middle/rty/struct.RefineParam.html @@ -5,7 +5,7 @@ H: Hasher, Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for RefineParam

    source§

    fn eq(&self, other: &RefineParam) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for RefineParam

    source§

    impl Eq for RefineParam

    source§

    impl StructuralEq for RefineParam

    source§

    impl StructuralPartialEq for RefineParam

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for RefineParam

    source§

    impl Eq for RefineParam

    source§

    impl StructuralEq for RefineParam

    source§

    impl StructuralPartialEq for RefineParam

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.ScalarInt.html b/doc/flux_middle/rty/struct.ScalarInt.html index 2fdc080c9b..9065a8b2a0 100644 --- a/doc/flux_middle/rty/struct.ScalarInt.html +++ b/doc/flux_middle/rty/struct.ScalarInt.html @@ -1,4 +1,4 @@ -ScalarInt in flux_middle::rty - Rust

    Struct flux_middle::rty::ScalarInt

    source ·
    #[repr(packed(1))]
    pub struct ScalarInt { +ScalarInt in flux_middle::rty - Rust

    Struct flux_middle::rty::ScalarInt

    source ·
    #[repr(packed(1))]
    pub struct ScalarInt { data: u128, size: NonZeroU8, }
    Expand description

    The raw bytes of a simple value.

    @@ -22,4 +22,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rty/struct.SortVar.html b/doc/flux_middle/rty/struct.SortVar.html index fa5a25c599..ed5291432d 100644 --- a/doc/flux_middle/rty/struct.SortVar.html +++ b/doc/flux_middle/rty/struct.SortVar.html @@ -1,13 +1,13 @@ -SortVar in flux_middle::rty - Rust

    Struct flux_middle::rty::SortVar

    source ·
    pub struct SortVar {
    +SortVar in flux_middle::rty - Rust

    Struct flux_middle::rty::SortVar

    source ·
    pub struct SortVar {
         pub index: usize,
     }
    Expand description

    SortVar are used for polymorphic sorts (Set, Map etc.) and they should occur “bound” under a PolyFuncSort; i.e. should be < than the number of params in the PolyFuncSort.

    -

    Fields§

    §index: usize

    Trait Implementations§

    source§

    impl Clone for SortVar

    source§

    fn clone(&self) -> SortVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SortVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for SortVar

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for SortVar

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<usize> for SortVar

    source§

    fn from(index: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for SortVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    Fields§

    §index: usize

    Trait Implementations§

    source§

    impl Clone for SortVar

    source§

    fn clone(&self) -> SortVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SortVar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for SortVar

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for SortVar

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<usize> for SortVar

    source§

    fn from(index: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for SortVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for SortVar

    source§

    fn eq(&self, other: &SortVar) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for SortVar

    source§

    fn eq(&self, other: &SortVar) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for SortVar

    source§

    impl StructuralEq for SortVar

    source§

    impl StructuralPartialEq for SortVar

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for SortVar

    source§

    impl StructuralEq for SortVar

    source§

    impl StructuralPartialEq for SortVar

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.TraitPredicate.html b/doc/flux_middle/rty/struct.TraitPredicate.html index a4e785f708..5bf6359309 100644 --- a/doc/flux_middle/rty/struct.TraitPredicate.html +++ b/doc/flux_middle/rty/struct.TraitPredicate.html @@ -1,28 +1,28 @@ -TraitPredicate in flux_middle::rty - Rust
    pub struct TraitPredicate {
    +TraitPredicate in flux_middle::rty - Rust
    pub struct TraitPredicate {
         pub trait_ref: TraitRef,
    -}

    Fields§

    §trait_ref: TraitRef

    Trait Implementations§

    source§

    impl Clone for TraitPredicate

    source§

    fn clone(&self) -> TraitPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TraitPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §trait_ref: TraitRef

    Trait Implementations§

    source§

    impl Clone for TraitPredicate

    source§

    fn clone(&self) -> TraitPredicate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TraitPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitPredicate

    source§

    fn eq(&self, other: &TraitPredicate) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitPredicate

    source§

    fn eq(&self, other: &TraitPredicate) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for TraitPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for TraitPredicate

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for TraitPredicate

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for TraitPredicate

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for TraitPredicate

    source§

    impl StructuralEq for TraitPredicate

    source§

    impl StructuralPartialEq for TraitPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for TraitPredicate

    source§

    impl StructuralEq for TraitPredicate

    source§

    impl StructuralPartialEq for TraitPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.TraitRef.html b/doc/flux_middle/rty/struct.TraitRef.html index 9365fcd595..6e68a9d36e 100644 --- a/doc/flux_middle/rty/struct.TraitRef.html +++ b/doc/flux_middle/rty/struct.TraitRef.html @@ -1,29 +1,29 @@ -TraitRef in flux_middle::rty - Rust

    Struct flux_middle::rty::TraitRef

    source ·
    pub struct TraitRef {
    +TraitRef in flux_middle::rty - Rust

    Struct flux_middle::rty::TraitRef

    source ·
    pub struct TraitRef {
         pub def_id: DefId,
         pub args: GenericArgs,
    -}

    Fields§

    §def_id: DefId§args: GenericArgs

    Trait Implementations§

    source§

    impl Clone for TraitRef

    source§

    fn clone(&self) -> TraitRef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TraitRef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitRef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §def_id: DefId§args: GenericArgs

    Trait Implementations§

    source§

    impl Clone for TraitRef

    source§

    fn clone(&self) -> TraitRef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TraitRef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitRef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitRef

    source§

    fn eq(&self, other: &TraitRef) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitRef

    source§

    fn eq(&self, other: &TraitRef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl TypeFoldable for TraitRef

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl TypeFoldable for TraitRef

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for TraitRef

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for TraitRef

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for TraitRef

    source§

    impl StructuralEq for TraitRef

    source§

    impl StructuralPartialEq for TraitRef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for TraitRef

    source§

    impl StructuralEq for TraitRef

    source§

    impl StructuralPartialEq for TraitRef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.TyS.html b/doc/flux_middle/rty/struct.TyS.html index fb15dafc7d..fa2272a57a 100644 --- a/doc/flux_middle/rty/struct.TyS.html +++ b/doc/flux_middle/rty/struct.TyS.html @@ -1,12 +1,12 @@ -TyS in flux_middle::rty - Rust

    Struct flux_middle::rty::TyS

    source ·
    pub struct TyS {
    +TyS in flux_middle::rty - Rust

    Struct flux_middle::rty::TyS

    source ·
    pub struct TyS {
         kind: TyKind,
    -}

    Fields§

    §kind: TyKind

    Implementations§

    source§

    impl TyS

    source

    pub fn kind(&self) -> &TyKind

    source

    pub fn expect_discr(&self) -> (&AdtDef, &Place)

    source

    pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg], &Index)

    source

    pub(crate) fn expect_tuple(&self) -> &[Ty]

    source

    pub fn is_integral(&self) -> bool

    Whether the type is an int or a uint

    -
    source

    pub fn is_bool(&self) -> bool

    Whether the type is a bool

    -
    source

    pub fn is_uninit(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    source

    pub fn is_struct(&self) -> bool

    source

    pub fn is_closure(&self) -> bool

    source

    pub fn is_tuple(&self) -> bool

    source

    pub fn is_array(&self) -> bool

    source

    pub fn is_slice(&self) -> bool

    source

    pub fn as_bty_skipping_existentials(&self) -> Option<&BaseTy>

    Trait Implementations§

    source§

    impl Clone for TyS

    source§

    fn clone(&self) -> TyS

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TyS

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for TyS

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for TyS

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for TyS

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §kind: TyKind

    Implementations§

    source§

    impl TyS

    source

    pub fn kind(&self) -> &TyKind

    source

    pub fn expect_discr(&self) -> (&AdtDef, &Place)

    source

    pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg], &Index)

    source

    pub(crate) fn expect_tuple(&self) -> &[Ty]

    source

    pub fn is_integral(&self) -> bool

    Whether the type is an int or a uint

    +
    source

    pub fn is_bool(&self) -> bool

    Whether the type is a bool

    +
    source

    pub fn is_uninit(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    source

    pub fn is_struct(&self) -> bool

    source

    pub fn is_closure(&self) -> bool

    source

    pub fn is_tuple(&self) -> bool

    source

    pub fn is_array(&self) -> bool

    source

    pub fn is_slice(&self) -> bool

    source

    pub fn as_bty_skipping_existentials(&self) -> Option<&BaseTy>

    Trait Implementations§

    source§

    impl Clone for TyS

    source§

    fn clone(&self) -> TyS

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TyS

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for TyS

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for TyS

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for TyS

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for TyS

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for TyS

    source§

    fn eq(&self, other: &TyS) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for TyS

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for TyS

    source§

    fn eq(&self, other: &TyS) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for TyS

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for TyS

    source§

    impl StructuralEq for TyS

    source§

    impl StructuralPartialEq for TyS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for TyS

    §

    impl Send for TyS

    §

    impl Sync for TyS

    §

    impl Unpin for TyS

    §

    impl UnwindSafe for TyS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for TyS

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Eq for TyS

    source§

    impl StructuralEq for TyS

    source§

    impl StructuralPartialEq for TyS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for TyS

    §

    impl Send for TyS

    §

    impl Sync for TyS

    §

    impl Unpin for TyS

    §

    impl UnwindSafe for TyS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/struct.VariantSig.html b/doc/flux_middle/rty/struct.VariantSig.html index 952d18282d..60f9eb14cf 100644 --- a/doc/flux_middle/rty/struct.VariantSig.html +++ b/doc/flux_middle/rty/struct.VariantSig.html @@ -1,33 +1,33 @@ -VariantSig in flux_middle::rty - Rust

    Struct flux_middle::rty::VariantSig

    source ·
    pub struct VariantSig {
    +VariantSig in flux_middle::rty - Rust

    Struct flux_middle::rty::VariantSig

    source ·
    pub struct VariantSig {
         pub adt_def: AdtDef,
         pub args: GenericArgs,
         pub fields: List<Ty>,
         pub idx: Expr,
    -}

    Fields§

    §adt_def: AdtDef§args: GenericArgs§fields: List<Ty>§idx: Expr

    Implementations§

    Fields§

    §adt_def: AdtDef§args: GenericArgs§fields: List<Ty>§idx: Expr

    Implementations§

    source§

    impl VariantSig

    source

    pub fn new( adt_def: AdtDef, args: GenericArgs, fields: List<Ty>, idx: Expr -) -> Self

    source

    pub fn fields(&self) -> &[Ty]

    source

    pub fn ret(&self) -> Ty

    Trait Implementations§

    source§

    impl Clone for VariantSig

    source§

    fn clone(&self) -> VariantSig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for VariantSig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for VariantSig

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for VariantSig

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for VariantSig

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Self

    source

    pub fn fields(&self) -> &[Ty]

    source

    pub fn ret(&self) -> Ty

    Trait Implementations§

    source§

    impl Clone for VariantSig

    source§

    fn clone(&self) -> VariantSig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for VariantSig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for VariantSig

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for VariantSig

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for VariantSig

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for VariantSig

    source§

    fn eq(&self, other: &VariantSig) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for VariantSig

    source§

    fn eq(&self, other: &VariantSig) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for VariantSig

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for VariantSig

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for VariantSig

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl TypeFoldable for VariantSig

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for VariantSig

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for VariantSig

    source§

    impl StructuralEq for VariantSig

    source§

    impl StructuralPartialEq for VariantSig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for VariantSig

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Eq for VariantSig

    source§

    impl StructuralEq for VariantSig

    source§

    impl StructuralPartialEq for VariantSig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rty/subst/struct.BoundVarReplacer.html b/doc/flux_middle/rty/subst/struct.BoundVarReplacer.html index 491fc5c915..3a95b51a5f 100644 --- a/doc/flux_middle/rty/subst/struct.BoundVarReplacer.html +++ b/doc/flux_middle/rty/subst/struct.BoundVarReplacer.html @@ -4,7 +4,7 @@ }
    Expand description

    Substitution for late bound variables

    Fields§

    §current_index: DebruijnIndex§delegate: D

    Implementations§

    source§

    impl<D> BoundVarReplacer<D>

    source

    pub(super) fn new(delegate: D) -> BoundVarReplacer<D>

    Trait Implementations§

    source§

    impl<D> TypeFolder for BoundVarReplacer<D>where D: BoundVarReplacerDelegate,

    source§

    fn fold_binder<T>(&mut self, t: &Binder<T>) -> Binder<T>where - T: TypeFoldable,

    source§

    fn fold_expr(&mut self, e: &Expr) -> Expr

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    Auto Trait Implementations§

    §

    impl<D> RefUnwindSafe for BoundVarReplacer<D>where + T: TypeFoldable,

    source§

    fn fold_expr(&mut self, e: &Expr) -> Expr

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    Auto Trait Implementations§

    §

    impl<D> RefUnwindSafe for BoundVarReplacer<D>where D: RefUnwindSafe,

    §

    impl<D> Send for BoundVarReplacer<D>where D: Send,

    §

    impl<D> Sync for BoundVarReplacer<D>where D: Sync,

    §

    impl<D> Unpin for BoundVarReplacer<D>where @@ -12,24 +12,24 @@ D: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere - F: TypeFolder,

    §

    type Error = !

    source§

    fn try_fold_binder<T>( + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere + F: TypeFolder,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/subst/struct.EVarSubstFolder.html b/doc/flux_middle/rty/subst/struct.EVarSubstFolder.html index c4cf668f29..a431fd7f83 100644 --- a/doc/flux_middle/rty/subst/struct.EVarSubstFolder.html +++ b/doc/flux_middle/rty/subst/struct.EVarSubstFolder.html @@ -1,27 +1,27 @@ EVarSubstFolder in flux_middle::rty::subst - Rust
    pub(super) struct EVarSubstFolder<'a> {
         evars: &'a EVarSol,
     }
    Expand description

    Substitution for existential variables

    -

    Fields§

    §evars: &'a EVarSol

    Implementations§

    source§

    impl<'a> EVarSubstFolder<'a>

    source

    pub(super) fn new(evars: &'a EVarSol) -> Self

    Trait Implementations§

    source§

    impl TypeFolder for EVarSubstFolder<'_>

    source§

    fn fold_expr(&mut self, e: &Expr) -> Expr

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for EVarSubstFolder<'a>

    §

    impl<'a> Send for EVarSubstFolder<'a>

    §

    impl<'a> Sync for EVarSubstFolder<'a>

    §

    impl<'a> Unpin for EVarSubstFolder<'a>

    §

    impl<'a> UnwindSafe for EVarSubstFolder<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Fields§

    §evars: &'a EVarSol

    Implementations§

    source§

    impl<'a> EVarSubstFolder<'a>

    source

    pub(super) fn new(evars: &'a EVarSol) -> Self

    Trait Implementations§

    source§

    impl TypeFolder for EVarSubstFolder<'_>

    source§

    fn fold_expr(&mut self, e: &Expr) -> Expr

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for EVarSubstFolder<'a>

    §

    impl<'a> Send for EVarSubstFolder<'a>

    §

    impl<'a> Sync for EVarSubstFolder<'a>

    §

    impl<'a> Unpin for EVarSubstFolder<'a>

    §

    impl<'a> UnwindSafe for EVarSubstFolder<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere - F: TypeFolder,

    §

    type Error = !

    source§

    fn try_fold_binder<T>( + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere + F: TypeFolder,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/subst/struct.GenericsSubstFolder.html b/doc/flux_middle/rty/subst/struct.GenericsSubstFolder.html index a00d34c0ef..a2c3126698 100644 --- a/doc/flux_middle/rty/subst/struct.GenericsSubstFolder.html +++ b/doc/flux_middle/rty/subst/struct.GenericsSubstFolder.html @@ -7,27 +7,27 @@
    §refine: &'a [Expr]

    Implementations§

    source§

    impl<'a> GenericsSubstFolder<'a>

    source

    pub(super) fn new( generics: Option<&'a [GenericArg]>, refine: &'a [Expr] -) -> Self

    source§

    impl GenericsSubstFolder<'_>

    source

    fn sort_for_param(&self, param_ty: ParamTy) -> Sort

    source

    fn ty_for_param(&self, param_ty: ParamTy) -> Ty

    source

    fn bty_for_param(&self, param_ty: ParamTy, idx: &Index) -> Ty

    source

    fn region_for_param(&self, ebr: EarlyBoundRegion) -> Region

    source

    fn expr_for_param(&self, idx: u32) -> Expr

    Trait Implementations§

    source§

    impl TypeFolder for GenericsSubstFolder<'_>

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    source§

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> Self

    source§

    impl GenericsSubstFolder<'_>

    source

    fn sort_for_param(&self, param_ty: ParamTy) -> Sort

    source

    fn ty_for_param(&self, param_ty: ParamTy) -> Ty

    source

    fn bty_for_param(&self, param_ty: ParamTy, idx: &Index) -> Ty

    source

    fn region_for_param(&self, ebr: EarlyBoundRegion) -> Region

    source

    fn expr_for_param(&self, idx: u32) -> Expr

    Trait Implementations§

    source§

    impl TypeFolder for GenericsSubstFolder<'_>

    source§

    fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

    source§

    fn fold_sort(&mut self, sort: &Sort) -> Sort

    source§

    fn fold_ty(&mut self, ty: &Ty) -> Ty

    source§

    fn fold_region(&mut self, re: &Region) -> Region

    source§

    fn fold_expr(&mut self, expr: &Expr) -> Expr

    source§

    fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere - F: TypeFolder,

    §

    type Error = !

    source§

    fn try_fold_binder<T>( + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<F> FallibleTypeFolder for Fwhere + F: TypeFolder,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/type.Constraints.html b/doc/flux_middle/rty/type.Constraints.html index 1394a4ef28..9dfe57e31f 100644 --- a/doc/flux_middle/rty/type.Constraints.html +++ b/doc/flux_middle/rty/type.Constraints.html @@ -1,3 +1,3 @@ -Constraints in flux_middle::rty - Rust

    Type Alias flux_middle::rty::Constraints

    source ·
    pub type Constraints = List<Constraint>;

    Aliased Type§

    struct Constraints {
    +Constraints in flux_middle::rty - Rust

    Type Alias flux_middle::rty::Constraints

    source ·
    pub type Constraints = List<Constraint>;

    Aliased Type§

    struct Constraints {
         arc: Arc<[Constraint]>,
     }

    Fields§

    §arc: Arc<[Constraint]>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.Expr.html b/doc/flux_middle/rty/type.Expr.html index 5991871e06..526679eefe 100644 --- a/doc/flux_middle/rty/type.Expr.html +++ b/doc/flux_middle/rty/type.Expr.html @@ -28,35 +28,35 @@ doing constant folding. Note that we also have TypeFoldable::normalize which applies beta reductions for tuples and abstractions.

    source

    pub fn to_var(&self) -> Option<Var>

    source

    pub fn to_loc(&self) -> Option<Loc>

    source

    pub fn to_path(&self) -> Option<Path>

    source

    pub fn is_abs(&self) -> bool

    source

    pub fn is_tuple(&self) -> bool

    source

    pub fn eta_expand_abs(&self, sorts: &[Sort]) -> Binder<Expr>

    source

    pub fn eta_expand_tuple(&self, sort: &Sort) -> Expr

    source

    pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

    Trait Implementations§

    source§

    impl<Rhs> Add<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl<Rhs> Add<Rhs> for Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl Debug for Expr

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Rhs> Div<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl<Rhs> Div<Rhs> for Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl From<&Interned<ExprS>> for Expr

    source§

    fn from(e: &Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl From<i32> for Expr

    source§

    fn from(value: i32) -> Self

    Converts to this type from the input type.
    source§

    impl<Rhs> Mul<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Rhs) -> Self::Output

    Performs the * operation. Read more
    source§

    impl<Rhs> Mul<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl<Rhs> Add<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the + operator.
    source§

    fn add(self, rhs: Rhs) -> Self::Output

    Performs the + operation. Read more
    source§

    impl Debug for Expr

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Rhs> Div<Rhs> for &Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl<Rhs> Div<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the / operator.
    source§

    fn div(self, rhs: Rhs) -> Self::Output

    Performs the / operation. Read more
    source§

    impl From<&Interned<ExprS>> for Expr

    source§

    fn from(e: &Expr) -> Self

    Converts to this type from the input type.
    source§

    impl From<Name> for Expr

    source§

    fn from(name: Name) -> Self

    Converts to this type from the input type.
    source§

    impl From<Path> for Expr

    source§

    fn from(path: Path) -> Self

    Converts to this type from the input type.
    source§

    impl From<i32> for Expr

    source§

    fn from(value: i32) -> Self

    Converts to this type from the input type.
    source§

    impl<Rhs> Mul<Rhs> for &Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Rhs) -> Self::Output

    Performs the * operation. Read more
    source§

    impl<Rhs> Mul<Rhs> for Exprwhere Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Rhs) -> Self::Output

    Performs the * operation. Read more
    source§

    impl Pretty for Expr

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl SliceInternable for Expr

    source§

    impl<Rhs> Sub<Rhs> for &Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl<Rhs> Sub<Rhs> for Exprwhere - Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl TypeFoldable for Expr

    source§

    fn try_fold_with<F: FallibleTypeFolder>( + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl<Rhs> Sub<Rhs> for Exprwhere + Rhs: Into<Expr>,

    §

    type Output = Interned<ExprS>

    The resulting type after applying the - operator.
    source§

    fn sub(self, rhs: Rhs) -> Self::Output

    Performs the - operation. Read more
    source§

    impl TypeFoldable for Expr

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Expr

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Expr

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for Expr

    source§

    fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for Expr

    source§

    impl TypeVisitable for Expr

    source§

    impl TypeVisitable for Expr

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file +) -> ControlFlow<V::BreakTy, ()>
    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.GenericArgs.html b/doc/flux_middle/rty/type.GenericArgs.html index a7ed7f4e43..7e6d0014a0 100644 --- a/doc/flux_middle/rty/type.GenericArgs.html +++ b/doc/flux_middle/rty/type.GenericArgs.html @@ -1,12 +1,12 @@ -GenericArgs in flux_middle::rty - Rust

    Type Alias flux_middle::rty::GenericArgs

    source ·
    pub type GenericArgs = List<GenericArg>;

    Aliased Type§

    struct GenericArgs {
    +GenericArgs in flux_middle::rty - Rust

    Type Alias flux_middle::rty::GenericArgs

    source ·
    pub type GenericArgs = List<GenericArg>;

    Aliased Type§

    struct GenericArgs {
         arc: Arc<[GenericArg]>,
    -}

    Fields§

    §arc: Arc<[GenericArg]>

    Implementations§

    Fields§

    §arc: Arc<[GenericArg]>

    Implementations§

    source§

    impl GenericArgs

    source

    pub fn identity_for_item( genv: &GlobalEnv<'_, '_>, def_id: impl Into<DefId> -) -> QueryResult<Self>

    source

    fn fill_item<F>( +) -> QueryResult<Self>

    source

    fn fill_item<F>( genv: &GlobalEnv<'_, '_>, args: &mut Vec<GenericArg>, generics: &Generics, mk_kind: &mut F ) -> QueryResult<()>where - F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,

    source§

    impl GenericArgs

    \ No newline at end of file + F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,
    source§

    impl GenericArgs

    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.OpaqueArgsMap.html b/doc/flux_middle/rty/type.OpaqueArgsMap.html index fb01375844..c1ccb3660c 100644 --- a/doc/flux_middle/rty/type.OpaqueArgsMap.html +++ b/doc/flux_middle/rty/type.OpaqueArgsMap.html @@ -1,3 +1,3 @@ -OpaqueArgsMap in flux_middle::rty - Rust

    Type Alias flux_middle::rty::OpaqueArgsMap

    source ·
    pub type OpaqueArgsMap = FxHashMap<DefId, (GenericArgs, RefineArgs)>;

    Aliased Type§

    struct OpaqueArgsMap {
    +OpaqueArgsMap in flux_middle::rty - Rust

    Type Alias flux_middle::rty::OpaqueArgsMap

    source ·
    pub type OpaqueArgsMap = FxHashMap<DefId, (GenericArgs, RefineArgs)>;

    Aliased Type§

    struct OpaqueArgsMap {
         base: HashMap<DefId, (Interned<[GenericArg]>, Interned<[Interned<ExprS>]>), BuildHasherDefault<FxHasher>>,
     }

    Fields§

    §base: HashMap<DefId, (Interned<[GenericArg]>, Interned<[Interned<ExprS>]>), BuildHasherDefault<FxHasher>>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyFnSig.html b/doc/flux_middle/rty/type.PolyFnSig.html index 98fe8bd3e0..dfa07a6b80 100644 --- a/doc/flux_middle/rty/type.PolyFnSig.html +++ b/doc/flux_middle/rty/type.PolyFnSig.html @@ -1,4 +1,4 @@ -PolyFnSig in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyFnSig

    source ·
    pub type PolyFnSig = Binder<FnSig>;

    Aliased Type§

    struct PolyFnSig {
    +PolyFnSig in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyFnSig

    source ·
    pub type PolyFnSig = Binder<FnSig>;

    Aliased Type§

    struct PolyFnSig {
         vars: Interned<[BoundVariableKind]>,
         value: FnSig,
    -}

    Fields§

    §vars: Interned<[BoundVariableKind]>§value: FnSig

    Trait Implementations§

    source§

    impl Pretty for PolyFnSig

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    \ No newline at end of file +}

    Fields§

    §vars: Interned<[BoundVariableKind]>§value: FnSig

    Trait Implementations§

    source§

    impl Pretty for PolyFnSig

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyTy.html b/doc/flux_middle/rty/type.PolyTy.html index 5a6e4a6ba2..a4d28944b5 100644 --- a/doc/flux_middle/rty/type.PolyTy.html +++ b/doc/flux_middle/rty/type.PolyTy.html @@ -1,4 +1,4 @@ -PolyTy in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyTy

    source ·
    pub type PolyTy = Binder<Ty>;

    Aliased Type§

    struct PolyTy {
    +PolyTy in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyTy

    source ·
    pub type PolyTy = Binder<Ty>;

    Aliased Type§

    struct PolyTy {
         vars: Interned<[BoundVariableKind]>,
         value: Interned<TyS>,
     }

    Fields§

    §vars: Interned<[BoundVariableKind]>§value: Interned<TyS>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyVariant.html b/doc/flux_middle/rty/type.PolyVariant.html index 1b95c5c6bc..8acdd1c138 100644 --- a/doc/flux_middle/rty/type.PolyVariant.html +++ b/doc/flux_middle/rty/type.PolyVariant.html @@ -1,4 +1,4 @@ -PolyVariant in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyVariant

    source ·
    pub type PolyVariant = Binder<VariantSig>;

    Aliased Type§

    struct PolyVariant {
    +PolyVariant in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyVariant

    source ·
    pub type PolyVariant = Binder<VariantSig>;

    Aliased Type§

    struct PolyVariant {
         vars: Interned<[BoundVariableKind]>,
         value: VariantSig,
    -}

    Fields§

    §vars: Interned<[BoundVariableKind]>§value: VariantSig

    Trait Implementations§

    \ No newline at end of file +}

    Fields§

    §vars: Interned<[BoundVariableKind]>§value: VariantSig

    Trait Implementations§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyVariants.html b/doc/flux_middle/rty/type.PolyVariants.html index 1f86fa25fd..e5cc559a92 100644 --- a/doc/flux_middle/rty/type.PolyVariants.html +++ b/doc/flux_middle/rty/type.PolyVariants.html @@ -1,3 +1,3 @@ -PolyVariants in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyVariants

    source ·
    pub type PolyVariants = List<Binder<VariantSig>>;

    Aliased Type§

    struct PolyVariants {
    +PolyVariants in flux_middle::rty - Rust

    Type Alias flux_middle::rty::PolyVariants

    source ·
    pub type PolyVariants = List<Binder<VariantSig>>;

    Aliased Type§

    struct PolyVariants {
         arc: Arc<[Binder<VariantSig>]>,
     }

    Fields§

    §arc: Arc<[Binder<VariantSig>]>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.RefineArgs.html b/doc/flux_middle/rty/type.RefineArgs.html index f8f883beca..5bb5028e13 100644 --- a/doc/flux_middle/rty/type.RefineArgs.html +++ b/doc/flux_middle/rty/type.RefineArgs.html @@ -1,3 +1,3 @@ -RefineArgs in flux_middle::rty - Rust

    Type Alias flux_middle::rty::RefineArgs

    source ·
    pub type RefineArgs = List<Expr>;

    Aliased Type§

    struct RefineArgs {
    +RefineArgs in flux_middle::rty - Rust

    Type Alias flux_middle::rty::RefineArgs

    source ·
    pub type RefineArgs = List<Expr>;

    Aliased Type§

    struct RefineArgs {
         arc: Arc<[Interned<ExprS>]>,
     }

    Fields§

    §arc: Arc<[Interned<ExprS>]>
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.Ty.html b/doc/flux_middle/rty/type.Ty.html index 9ea2ff67ad..9e119dfadf 100644 --- a/doc/flux_middle/rty/type.Ty.html +++ b/doc/flux_middle/rty/type.Ty.html @@ -1,37 +1,37 @@ -Ty in flux_middle::rty - Rust

    Type Alias flux_middle::rty::Ty

    source ·
    pub type Ty = Interned<TyS>;

    Aliased Type§

    struct Ty {
    +Ty in flux_middle::rty - Rust

    Type Alias flux_middle::rty::Ty

    source ·
    pub type Ty = Interned<TyS>;

    Aliased Type§

    struct Ty {
         arc: Arc<TyS>,
    -}

    Fields§

    §arc: Arc<TyS>

    Implementations§

    source§

    impl Ty

    source

    pub fn alias(kind: AliasKind, alias_ty: AliasTy) -> Ty

    source

    pub fn opaque( +}

    Fields§

    §arc: Arc<TyS>

    Implementations§

    source§

    impl Ty

    source

    pub fn alias(kind: AliasKind, alias_ty: AliasTy) -> Ty

    source

    pub fn opaque( def_id: impl Into<DefId>, args: GenericArgs, refine_args: RefineArgs -) -> Ty

    source

    pub fn projection(alias_ty: AliasTy) -> Ty

    source

    pub fn ptr(pk: impl Into<PtrKind>, path: impl Into<Path>) -> Ty

    source

    pub fn constr(p: impl Into<Expr>, ty: Ty) -> Ty

    source

    pub fn uninit() -> Ty

    source

    pub fn indexed(bty: BaseTy, idx: impl Into<Index>) -> Ty

    source

    pub fn exists(ty: Binder<Ty>) -> Ty

    source

    pub fn exists_with_constr(bty: BaseTy, pred: Expr) -> Ty

    source

    pub fn discr(adt_def: AdtDef, place: Place) -> Ty

    source

    pub fn unit() -> Ty

    source

    pub fn bool() -> Ty

    source

    pub fn int(int_ty: IntTy) -> Ty

    source

    pub fn uint(uint_ty: UintTy) -> Ty

    source

    pub fn param(param_ty: ParamTy) -> Ty

    source

    pub fn downcast( +) -> Ty

    source

    pub fn projection(alias_ty: AliasTy) -> Ty

    source

    pub fn ptr(pk: impl Into<PtrKind>, path: impl Into<Path>) -> Ty

    source

    pub fn constr(p: impl Into<Expr>, ty: Ty) -> Ty

    source

    pub fn uninit() -> Ty

    source

    pub fn indexed(bty: BaseTy, idx: impl Into<Index>) -> Ty

    source

    pub fn exists(ty: Binder<Ty>) -> Ty

    source

    pub fn exists_with_constr(bty: BaseTy, pred: Expr) -> Ty

    source

    pub fn discr(adt_def: AdtDef, place: Place) -> Ty

    source

    pub fn unit() -> Ty

    source

    pub fn bool() -> Ty

    source

    pub fn int(int_ty: IntTy) -> Ty

    source

    pub fn uint(uint_ty: UintTy) -> Ty

    source

    pub fn param(param_ty: ParamTy) -> Ty

    source

    pub fn downcast( adt: AdtDef, args: GenericArgs, ty: Ty, variant: VariantIdx, fields: List<Ty> -) -> Ty

    source

    pub fn blocked(ty: Ty) -> Ty

    source

    pub fn usize() -> Ty

    source

    pub fn str() -> Ty

    source

    pub fn char() -> Ty

    source

    pub fn float(float_ty: FloatTy) -> Ty

    source

    pub fn mk_ref(region: Region, ty: Ty, mutbl: Mutability) -> Ty

    source

    pub fn mk_slice(ty: Ty) -> Ty

    source

    pub fn tuple(tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn array(ty: Ty, c: Const) -> Ty

    source

    pub fn closure(did: DefId, tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn generator(did: DefId, args: impl Into<List<GenericArg>>) -> Ty

    source

    pub fn never() -> Ty

    source

    pub fn unconstr(&self) -> (Ty, Expr)

    source

    pub fn unblocked(&self) -> Ty

    Trait Implementations§

    source§

    impl SliceInternable for Ty

    source§

    impl TypeFoldable for Ty

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +) -> Ty

    source

    pub fn blocked(ty: Ty) -> Ty

    source

    pub fn usize() -> Ty

    source

    pub fn str() -> Ty

    source

    pub fn char() -> Ty

    source

    pub fn float(float_ty: FloatTy) -> Ty

    source

    pub fn mk_ref(region: Region, ty: Ty, mutbl: Mutability) -> Ty

    source

    pub fn mk_slice(ty: Ty) -> Ty

    source

    pub fn tuple(tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn array(ty: Ty, c: Const) -> Ty

    source

    pub fn closure(did: DefId, tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn generator(did: DefId, args: impl Into<List<GenericArg>>) -> Ty

    source

    pub fn never() -> Ty

    source

    pub fn unconstr(&self) -> (Ty, Expr)

    source

    pub fn unblocked(&self) -> Ty

    Trait Implementations§

    source§

    impl SliceInternable for Ty

    source§

    impl TypeFoldable for Ty

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Ty

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeSuperFoldable for Ty

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Ty, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    impl TypeSuperVisitable for Ty

    source§

    impl TypeSuperVisitable for Ty

    source§

    impl TypeVisitable for Ty

    source§

    impl TypeVisitable for Ty

    source§

    fn visit_with<V: TypeVisitor>( &self, visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file +) -> ControlFlow<V::BreakTy, ()>
    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    \ No newline at end of file diff --git a/doc/flux_middle/rty/type.TypeOutlivesPredicate.html b/doc/flux_middle/rty/type.TypeOutlivesPredicate.html new file mode 100644 index 0000000000..d21a7596db --- /dev/null +++ b/doc/flux_middle/rty/type.TypeOutlivesPredicate.html @@ -0,0 +1 @@ +TypeOutlivesPredicate in flux_middle::rty - Rust
    pub type TypeOutlivesPredicate = OutlivesPredicate<Ty, Region>;

    Aliased Type§

    struct TypeOutlivesPredicate(pub Interned<TyS>, pub Region);

    Fields§

    §0: Interned<TyS>§1: Region
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound.html b/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound.html index 266c67d806..fa24d89a38 100644 --- a/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound.html +++ b/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound.html @@ -1 +1 @@ -_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound in flux_middle::rustc::lowering::errors - Rust
    const _DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound: ();
    \ No newline at end of file +_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound in flux_middle::rustc::lowering::errors - Rust
    const _DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound: ();
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl.html b/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl.html index 8572662110..275580095a 100644 --- a/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl.html +++ b/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl.html @@ -1 +1 @@ -_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl in flux_middle::rustc::lowering::errors - Rust
    const _DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl: ();
    \ No newline at end of file +_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl in flux_middle::rustc::lowering::errors - Rust
    const _DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl: ();
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir.html b/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir.html index 17d5a3c10f..e87cd8f107 100644 --- a/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir.html +++ b/doc/flux_middle/rustc/lowering/errors/constant._DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir.html @@ -1 +1 @@ -_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir in flux_middle::rustc::lowering::errors - Rust
    const _DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir: ();
    \ No newline at end of file +_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir in flux_middle::rustc::lowering::errors - Rust
    const _DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir: ();
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/errors/index.html b/doc/flux_middle/rustc/lowering/errors/index.html index 69a804d6de..af3018f1ac 100644 --- a/doc/flux_middle/rustc/lowering/errors/index.html +++ b/doc/flux_middle/rustc/lowering/errors/index.html @@ -1 +1 @@ -flux_middle::rustc::lowering::errors - Rust
    \ No newline at end of file +flux_middle::rustc::lowering::errors - Rust
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedGenericBound.html b/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedGenericBound.html index 9809ad0ab1..2f6f1b9522 100644 --- a/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedGenericBound.html +++ b/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedGenericBound.html @@ -1,8 +1,8 @@ -UnsupportedGenericBound in flux_middle::rustc::lowering::errors - Rust
    pub struct UnsupportedGenericBound {
    +UnsupportedGenericBound in flux_middle::rustc::lowering::errors - Rust
    pub struct UnsupportedGenericBound {
         span: Span,
         reason: String,
    -}

    Fields§

    §span: Span§reason: String

    Implementations§

    source§

    impl UnsupportedGenericBound

    source

    pub fn new(span: Span, reason: impl ToString) -> Self

    Trait Implementations§

    source§

    impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedGenericBoundwhere - G: EmissionGuarantee,

    Fields§

    §span: Span§reason: String

    Implementations§

    source§

    impl UnsupportedGenericBound

    source

    pub fn new(span: Span, reason: impl ToString) -> Self

    Trait Implementations§

    source§

    impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedGenericBoundwhere + G: EmissionGuarantee,

    source§

    fn into_diagnostic( self, sess: &'__diagnostic_handler_sess Handler ) -> DiagnosticBuilder<'__diagnostic_handler_sess, G>

    Write out as a diagnostic out of Handler.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedLocalDecl.html b/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedLocalDecl.html index cc0d93ecd4..f8d183df3a 100644 --- a/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedLocalDecl.html +++ b/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedLocalDecl.html @@ -1,8 +1,8 @@ -UnsupportedLocalDecl in flux_middle::rustc::lowering::errors - Rust
    pub(super) struct UnsupportedLocalDecl<'tcx> {
    +UnsupportedLocalDecl in flux_middle::rustc::lowering::errors - Rust
    pub(super) struct UnsupportedLocalDecl<'tcx> {
         span: Span,
         ty: Ty<'tcx>,
    -}

    Fields§

    §span: Span§ty: Ty<'tcx>

    Implementations§

    source§

    impl<'tcx> UnsupportedLocalDecl<'tcx>

    source

    pub(super) fn new(local_decl: &LocalDecl<'tcx>, _err: UnsupportedReason) -> Self

    Trait Implementations§

    source§

    impl<'__diagnostic_handler_sess, 'tcx, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedLocalDecl<'tcx>where - G: EmissionGuarantee,

    Fields§

    §span: Span§ty: Ty<'tcx>

    Implementations§

    source§

    impl<'tcx> UnsupportedLocalDecl<'tcx>

    source

    pub(super) fn new(local_decl: &LocalDecl<'tcx>, _err: UnsupportedReason) -> Self

    Trait Implementations§

    source§

    impl<'__diagnostic_handler_sess, 'tcx, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedLocalDecl<'tcx>where + G: EmissionGuarantee,

    source§

    fn into_diagnostic( self, sess: &'__diagnostic_handler_sess Handler ) -> DiagnosticBuilder<'__diagnostic_handler_sess, G>

    Write out as a diagnostic out of Handler.

    Auto Trait Implementations§

    §

    impl<'tcx> !RefUnwindSafe for UnsupportedLocalDecl<'tcx>

    §

    impl<'tcx> Send for UnsupportedLocalDecl<'tcx>

    §

    impl<'tcx> Sync for UnsupportedLocalDecl<'tcx>

    §

    impl<'tcx> Unpin for UnsupportedLocalDecl<'tcx>

    §

    impl<'tcx> !UnwindSafe for UnsupportedLocalDecl<'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedMir.html b/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedMir.html index 4120aac6d7..039da80b1e 100644 --- a/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedMir.html +++ b/doc/flux_middle/rustc/lowering/errors/struct.UnsupportedMir.html @@ -1,13 +1,13 @@ -UnsupportedMir in flux_middle::rustc::lowering::errors - Rust
    pub(super) struct UnsupportedMir {
    +UnsupportedMir in flux_middle::rustc::lowering::errors - Rust
    pub(super) struct UnsupportedMir {
         span: Span,
         kind: &'static str,
         reason: UnsupportedReason,
    -}

    Fields§

    §span: Span§kind: &'static str§reason: UnsupportedReason

    Implementations§

    source§

    impl UnsupportedMir

    source

    pub(super) fn new( +}

    Fields§

    §span: Span§kind: &'static str§reason: UnsupportedReason

    Implementations§

    source§

    impl UnsupportedMir

    source

    pub(super) fn new( span: Span, kind: &'static str, reason: UnsupportedReason -) -> Self

    source

    pub(super) fn terminator(span: Span, reason: UnsupportedReason) -> Self

    source

    pub(super) fn statement(span: Span, reason: UnsupportedReason) -> Self

    Trait Implementations§

    source§

    impl<'a, 'tcx> From<&'a Statement<'tcx>> for UnsupportedMir

    source§

    fn from(statement: &'a Statement<'tcx>) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, 'tcx> From<&'a Terminator<'tcx>> for UnsupportedMir

    source§

    fn from(terminator: &'a Terminator<'tcx>) -> Self

    Converts to this type from the input type.
    source§

    impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedMirwhere - G: EmissionGuarantee,

    source§

    fn into_diagnostic( +) -> Self

    source

    pub(super) fn terminator(span: Span, reason: UnsupportedReason) -> Self

    source

    pub(super) fn statement(span: Span, reason: UnsupportedReason) -> Self

    Trait Implementations§

    source§

    impl<'a, 'tcx> From<&'a Statement<'tcx>> for UnsupportedMir

    source§

    fn from(statement: &'a Statement<'tcx>) -> Self

    Converts to this type from the input type.
    source§

    impl<'a, 'tcx> From<&'a Terminator<'tcx>> for UnsupportedMir

    source§

    fn from(terminator: &'a Terminator<'tcx>) -> Self

    Converts to this type from the input type.
    source§

    impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedMirwhere + G: EmissionGuarantee,

    source§

    fn into_diagnostic( self, sess: &'__diagnostic_handler_sess Handler ) -> DiagnosticBuilder<'__diagnostic_handler_sess, G>

    Write out as a diagnostic out of Handler.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_middle/rustc/lowering/fn.lower_clause.html b/doc/flux_middle/rustc/lowering/fn.lower_clause.html index 4173b99242..85923135d6 100644 --- a/doc/flux_middle/rustc/lowering/fn.lower_clause.html +++ b/doc/flux_middle/rustc/lowering/fn.lower_clause.html @@ -1,4 +1,4 @@ -lower_clause in flux_middle::rustc::lowering - Rust
    fn lower_clause<'tcx>(
    +lower_clause in flux_middle::rustc::lowering - Rust
    fn lower_clause<'tcx>(
         tcx: TyCtxt<'tcx>,
         sess: &FluxSession,
         clause: &Clause<'tcx>,
    diff --git a/doc/flux_middle/rustc/lowering/fn.lower_type_outlives.html b/doc/flux_middle/rustc/lowering/fn.lower_type_outlives.html
    new file mode 100644
    index 0000000000..1f75b24a9a
    --- /dev/null
    +++ b/doc/flux_middle/rustc/lowering/fn.lower_type_outlives.html
    @@ -0,0 +1,4 @@
    +lower_type_outlives in flux_middle::rustc::lowering - Rust
    fn lower_type_outlives<'tcx>(
    +    tcx: TyCtxt<'tcx>,
    +    pred: TypeOutlivesPredicate<'tcx>
    +) -> Result<TypeOutlivesPredicate, UnsupportedReason>
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/index.html b/doc/flux_middle/rustc/lowering/index.html index 38b308cc0f..a96097d88d 100644 --- a/doc/flux_middle/rustc/lowering/index.html +++ b/doc/flux_middle/rustc/lowering/index.html @@ -1 +1 @@ -flux_middle::rustc::lowering - Rust
    \ No newline at end of file +flux_middle::rustc::lowering - Rust
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/sidebar-items.js b/doc/flux_middle/rustc/lowering/sidebar-items.js index 63eb527642..8ac97e30da 100644 --- a/doc/flux_middle/rustc/lowering/sidebar-items.js +++ b/doc/flux_middle/rustc/lowering/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["lower_adt_def","lower_alias_kind","lower_binder","lower_bound_region","lower_bound_vars","lower_clause","lower_const","lower_field","lower_fn_sig","lower_generic_arg","lower_generic_args","lower_generic_param_def","lower_generic_predicates","lower_generics","lower_item_bounds","lower_place","lower_region","lower_ty","lower_variant"],"mod":["errors"],"struct":["LoweringCtxt","UnsupportedReason"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["lower_adt_def","lower_alias_kind","lower_binder","lower_bound_region","lower_bound_vars","lower_clause","lower_const","lower_field","lower_fn_sig","lower_generic_arg","lower_generic_args","lower_generic_param_def","lower_generic_predicates","lower_generics","lower_item_bounds","lower_place","lower_region","lower_ty","lower_type_outlives","lower_variant"],"mod":["errors"],"struct":["LoweringCtxt","UnsupportedReason"]}; \ No newline at end of file diff --git a/doc/flux_middle/rustc/lowering/struct.UnsupportedReason.html b/doc/flux_middle/rustc/lowering/struct.UnsupportedReason.html index 7af5d3532f..b8fe1715f4 100644 --- a/doc/flux_middle/rustc/lowering/struct.UnsupportedReason.html +++ b/doc/flux_middle/rustc/lowering/struct.UnsupportedReason.html @@ -1,6 +1,6 @@ UnsupportedReason in flux_middle::rustc::lowering - Rust
    pub struct UnsupportedReason {
         pub(crate) descr: String,
    -}

    Fields§

    §descr: String

    Implementations§

    source§

    impl UnsupportedReason

    source

    fn new(reason: impl ToString) -> Self

    Trait Implementations§

    source§

    impl Clone for UnsupportedReason

    source§

    fn clone(&self) -> UnsupportedReason

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnsupportedReason

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl IntoDiagnosticArg for UnsupportedReason

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §descr: String

    Implementations§

    source§

    impl UnsupportedReason

    source

    fn new(reason: impl ToString) -> Self

    Trait Implementations§

    source§

    impl Clone for UnsupportedReason

    source§

    fn clone(&self) -> UnsupportedReason

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnsupportedReason

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl IntoDiagnosticArg for UnsupportedReason

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rustc/ty/enum.AliasKind.html b/doc/flux_middle/rustc/ty/enum.AliasKind.html index 3c5ef62950..5ad6a168e0 100644 --- a/doc/flux_middle/rustc/ty/enum.AliasKind.html +++ b/doc/flux_middle/rustc/ty/enum.AliasKind.html @@ -1,11 +1,11 @@ -AliasKind in flux_middle::rustc::ty - Rust
    pub enum AliasKind {
    +AliasKind in flux_middle::rustc::ty - Rust
    pub enum AliasKind {
         Projection,
         Opaque,
    -}

    Variants§

    §

    Projection

    §

    Opaque

    Trait Implementations§

    source§

    impl Clone for AliasKind

    source§

    fn clone(&self) -> AliasKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AliasKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for AliasKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Projection

    §

    Opaque

    Trait Implementations§

    source§

    impl Clone for AliasKind

    source§

    fn clone(&self) -> AliasKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AliasKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for AliasKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasKind

    source§

    fn eq(&self, other: &AliasKind) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    source§

    impl PartialEq for AliasKind

    source§

    fn eq(&self, other: &AliasKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Copy for AliasKind

    source§

    impl Eq for AliasKind

    source§

    impl StructuralEq for AliasKind

    source§

    impl StructuralPartialEq for AliasKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for AliasKind

    source§

    impl Eq for AliasKind

    source§

    impl StructuralEq for AliasKind

    source§

    impl StructuralPartialEq for AliasKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/enum.BoundRegionKind.html b/doc/flux_middle/rustc/ty/enum.BoundRegionKind.html index 00d5440a6e..f162477f42 100644 --- a/doc/flux_middle/rustc/ty/enum.BoundRegionKind.html +++ b/doc/flux_middle/rustc/ty/enum.BoundRegionKind.html @@ -8,7 +8,7 @@ the event of shadowing.

    §

    BrEnv

    Anonymous region for the implicit env pointer parameter to a closure

    -

    Trait Implementations§

    source§

    impl Pretty for BoundRegionKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Pretty for BoundRegionKind

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/enum.BoundVariableKind.html b/doc/flux_middle/rustc/ty/enum.BoundVariableKind.html index fd74bbe0db..3774f2835c 100644 --- a/doc/flux_middle/rustc/ty/enum.BoundVariableKind.html +++ b/doc/flux_middle/rustc/ty/enum.BoundVariableKind.html @@ -4,7 +4,7 @@ H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BoundVariableKind

    source§

    fn eq(&self, other: &BoundVariableKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for BoundVariableKind

    source§

    impl Copy for BoundVariableKind

    source§

    impl Eq for BoundVariableKind

    source§

    impl StructuralEq for BoundVariableKind

    source§

    impl StructuralPartialEq for BoundVariableKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for BoundVariableKind

    source§

    impl Copy for BoundVariableKind

    source§

    impl Eq for BoundVariableKind

    source§

    impl StructuralEq for BoundVariableKind

    source§

    impl StructuralPartialEq for BoundVariableKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/enum.ClauseKind.html b/doc/flux_middle/rustc/ty/enum.ClauseKind.html index 25fa43fa4c..0c6d72f264 100644 --- a/doc/flux_middle/rustc/ty/enum.ClauseKind.html +++ b/doc/flux_middle/rustc/ty/enum.ClauseKind.html @@ -1,7 +1,8 @@ -ClauseKind in flux_middle::rustc::ty - Rust
    pub enum ClauseKind {
    +ClauseKind in flux_middle::rustc::ty - Rust
    pub enum ClauseKind {
         Trait(TraitPredicate),
         Projection(ProjectionPredicate),
    -}

    Variants§

    Trait Implementations§

    source§

    impl Debug for ClauseKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ClauseKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + TypeOutlives(TypeOutlivesPredicate), +}

    Variants§

    Trait Implementations§

    source§

    impl Debug for ClauseKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ClauseKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ClauseKind

    source§

    fn eq(&self, other: &ClauseKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always diff --git a/doc/flux_middle/rustc/ty/enum.Const.html b/doc/flux_middle/rustc/ty/enum.Const.html index ee198bb97e..fc206e303d 100644 --- a/doc/flux_middle/rustc/ty/enum.Const.html +++ b/doc/flux_middle/rustc/ty/enum.Const.html @@ -1,11 +1,11 @@ -Const in flux_middle::rustc::ty - Rust

    Enum flux_middle::rustc::ty::Const

    source ·
    pub enum Const {
    +Const in flux_middle::rustc::ty - Rust

    Enum flux_middle::rustc::ty::Const

    source ·
    pub enum Const {
         Param(ParamConst),
         Value(ValueConst),
    -}

    Variants§

    Trait Implementations§

    source§

    impl Clone for Const

    source§

    fn clone(&self) -> Const

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Const

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Const

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Const

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<usize> for Const

    source§

    fn from(val: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Const

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    Trait Implementations§

    source§

    impl Clone for Const

    source§

    fn clone(&self) -> Const

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Const

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Const

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Const

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<usize> for Const

    source§

    fn from(val: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Const

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Const

    source§

    fn eq(&self, other: &Const) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Const

    source§

    fn eq(&self, other: &Const) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Const

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Subst for Const

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl Eq for Const

    source§

    impl StructuralEq for Const

    source§

    impl StructuralPartialEq for Const

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Const

    §

    impl Send for Const

    §

    impl Sync for Const

    §

    impl Unpin for Const

    §

    impl UnwindSafe for Const

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Const

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Subst for Const

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl Eq for Const

    source§

    impl StructuralEq for Const

    source§

    impl StructuralPartialEq for Const

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Const

    §

    impl Send for Const

    §

    impl Sync for Const

    §

    impl Unpin for Const

    §

    impl UnwindSafe for Const

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/enum.GenericArg.html b/doc/flux_middle/rustc/ty/enum.GenericArg.html index d78cb4e4b4..f08b1b86bc 100644 --- a/doc/flux_middle/rustc/ty/enum.GenericArg.html +++ b/doc/flux_middle/rustc/ty/enum.GenericArg.html @@ -1,12 +1,12 @@ -GenericArg in flux_middle::rustc::ty - Rust
    pub enum GenericArg {
    +GenericArg in flux_middle::rustc::ty - Rust
    pub enum GenericArg {
         Ty(Ty),
         Lifetime(Region),
         Const(Const),
    -}

    Variants§

    §

    Ty(Ty)

    §

    Lifetime(Region)

    §

    Const(Const)

    Implementations§

    Trait Implementations§

    source§

    impl Debug for GenericArg

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for GenericArg

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Ty(Ty)

    §

    Lifetime(Region)

    §

    Const(Const)

    Implementations§

    Trait Implementations§

    source§

    impl Debug for GenericArg

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for GenericArg

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GenericArg

    source§

    fn eq(&self, other: &GenericArg) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GenericArg

    source§

    fn eq(&self, other: &GenericArg) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for GenericArg

    source§

    impl Subst for GenericArg

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl Eq for GenericArg

    source§

    impl StructuralEq for GenericArg

    source§

    impl StructuralPartialEq for GenericArg

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for GenericArg

    source§

    impl Subst for GenericArg

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl Eq for GenericArg

    source§

    impl StructuralEq for GenericArg

    source§

    impl StructuralPartialEq for GenericArg

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/enum.Region.html b/doc/flux_middle/rustc/ty/enum.Region.html index 22674abba7..35330019ca 100644 --- a/doc/flux_middle/rustc/ty/enum.Region.html +++ b/doc/flux_middle/rustc/ty/enum.Region.html @@ -1,32 +1,32 @@ -Region in flux_middle::rustc::ty - Rust

    Enum flux_middle::rustc::ty::Region

    source ·
    pub enum Region {
    +Region in flux_middle::rustc::ty - Rust

    Enum flux_middle::rustc::ty::Region

    source ·
    pub enum Region {
         ReLateBound(DebruijnIndex, BoundRegion),
         ReEarlyBound(EarlyBoundRegion),
         ReStatic,
         ReVar(RegionVid),
         ReFree(FreeRegion),
    -}

    Variants§

    §

    ReLateBound(DebruijnIndex, BoundRegion)

    §

    ReEarlyBound(EarlyBoundRegion)

    §

    ReStatic

    §

    ReVar(RegionVid)

    §

    ReFree(FreeRegion)

    Trait Implementations§

    source§

    impl Clone for Region

    source§

    fn clone(&self) -> Region

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Region

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Region

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Region

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Region

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    ReLateBound(DebruijnIndex, BoundRegion)

    §

    ReEarlyBound(EarlyBoundRegion)

    §

    ReStatic

    §

    ReVar(RegionVid)

    §

    ReFree(FreeRegion)

    Trait Implementations§

    source§

    impl Clone for Region

    source§

    fn clone(&self) -> Region

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Region

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for Region

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for Region

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for Region

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Region

    source§

    fn eq(&self, other: &Region) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Region

    source§

    fn eq(&self, other: &Region) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Region

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Subst for Region

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl TypeFoldable for Region

    source§

    fn try_fold_with<F: FallibleTypeFolder>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Region

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Subst for Region

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl TypeFoldable for Region

    source§

    fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F -) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( &self, genv: &GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, callsite_def_id: DefId, refine_params: &[Expr] -) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +) -> QueryResult<Self>
    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with all the layers of bound variables at the point the hole was found. Each layer corresponds to the list of sorts bound at that level. The list is ordered from outermost to innermost -binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a hole. It also replaces all existing predicates with a hole. -For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Region

    source§

    fn visit_with<V: TypeVisitor>( +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl TypeVisitable for Region

    source§

    fn visit_with<V: TypeVisitor>( &self, _visitor: &mut V -) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Copy for Region

    source§

    impl Eq for Region

    source§

    impl StructuralEq for Region

    source§

    impl StructuralPartialEq for Region

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    source§

    impl Copy for Region

    source§

    impl Eq for Region

    source§

    impl StructuralEq for Region

    source§

    impl StructuralPartialEq for Region

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/enum.TyKind.html b/doc/flux_middle/rustc/ty/enum.TyKind.html index a545b26209..c87532cc93 100644 --- a/doc/flux_middle/rustc/ty/enum.TyKind.html +++ b/doc/flux_middle/rustc/ty/enum.TyKind.html @@ -1,4 +1,4 @@ -TyKind in flux_middle::rustc::ty - Rust

    Enum flux_middle::rustc::ty::TyKind

    source ·
    pub enum TyKind {
    +TyKind in flux_middle::rustc::ty - Rust

    Enum flux_middle::rustc::ty::TyKind

    source ·
    pub enum TyKind {
     
    Show 19 variants Adt(AdtDef, GenericArgs), Array(Ty, Const), Bool, @@ -18,11 +18,11 @@ CoroutineWitness(DefId, GenericArgs), Alias(AliasKind, AliasTy), RawPtr(Ty, Mutability), -
    }

    Variants§

    §

    Adt(AdtDef, GenericArgs)

    §

    Array(Ty, Const)

    §

    Bool

    §

    Str

    §

    Char

    §

    Float(FloatTy)

    §

    Int(IntTy)

    §

    Never

    §

    Param(ParamTy)

    §

    Ref(Region, Ty, Mutability)

    §

    Tuple(List<Ty>)

    §

    Uint(UintTy)

    §

    Slice(Ty)

    §

    FnPtr(PolyFnSig)

    §

    Closure(DefId, GenericArgs)

    §

    Coroutine(DefId, GenericArgs)

    §

    CoroutineWitness(DefId, GenericArgs)

    §

    Alias(AliasKind, AliasTy)

    §

    RawPtr(Ty, Mutability)

    Implementations§

    Trait Implementations§

    source§

    impl Debug for TyKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TyKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +

    }

    Variants§

    §

    Adt(AdtDef, GenericArgs)

    §

    Array(Ty, Const)

    §

    Bool

    §

    Str

    §

    Char

    §

    Float(FloatTy)

    §

    Int(IntTy)

    §

    Never

    §

    Param(ParamTy)

    §

    Ref(Region, Ty, Mutability)

    §

    Tuple(List<Ty>)

    §

    Uint(UintTy)

    §

    Slice(Ty)

    §

    FnPtr(PolyFnSig)

    §

    Closure(DefId, GenericArgs)

    §

    Coroutine(DefId, GenericArgs)

    §

    CoroutineWitness(DefId, GenericArgs)

    §

    Alias(AliasKind, AliasTy)

    §

    RawPtr(Ty, Mutability)

    Implementations§

    Trait Implementations§

    source§

    impl Debug for TyKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TyKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TyKind

    source§

    fn eq(&self, other: &TyKind) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TyKind

    source§

    fn eq(&self, other: &TyKind) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for TyKind

    source§

    impl StructuralEq for TyKind

    source§

    impl StructuralPartialEq for TyKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for TyKind

    source§

    impl StructuralEq for TyKind

    source§

    impl StructuralPartialEq for TyKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/fn.region_to_string.html b/doc/flux_middle/rustc/ty/fn.region_to_string.html index b93a65a74a..a3ee426989 100644 --- a/doc/flux_middle/rustc/ty/fn.region_to_string.html +++ b/doc/flux_middle/rustc/ty/fn.region_to_string.html @@ -1 +1 @@ -region_to_string in flux_middle::rustc::ty - Rust
    pub(crate) fn region_to_string(region: Region) -> String
    \ No newline at end of file +region_to_string in flux_middle::rustc::ty - Rust
    pub(crate) fn region_to_string(region: Region) -> String
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/index.html b/doc/flux_middle/rustc/ty/index.html index 1ec621f1b1..8b16a6efae 100644 --- a/doc/flux_middle/rustc/ty/index.html +++ b/doc/flux_middle/rustc/ty/index.html @@ -1,4 +1,4 @@ -flux_middle::rustc::ty - Rust

    Module flux_middle::rustc::ty

    source ·
    Expand description

    A simplified version of rust types.

    +flux_middle::rustc::ty - Rust
    \ No newline at end of file +particular, imagine a type like this:
  • A: B
  • A region (lifetime) variable ID.
  • The raw bytes of a simple value.
  • TyS 🔒
  • Enums

    Functions

    Type Aliases

    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/sidebar-items.js b/doc/flux_middle/rustc/ty/sidebar-items.js index 66df86657d..d1f56a09b0 100644 --- a/doc/flux_middle/rustc/ty/sidebar-items.js +++ b/doc/flux_middle/rustc/ty/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["AliasKind","BoundRegionKind","BoundVariableKind","ClauseKind","Const","FloatTy","GenericArg","GenericParamDefKind","IntTy","Mutability","Region","TyKind","UintTy"],"fn":["region_to_string"],"mod":["subst"],"struct":["AdtDef","AdtDefData","AliasTy","Binder","BoundRegion","BoundVar","Clause","ClosureArgs","ClosureArgsParts","DebruijnIndex","EarlyBinder","EarlyBoundRegion","FieldDef","FnSig","FreeRegion","GeneratorArgs","GeneratorArgsParts","GenericParamDef","GenericPredicates","Generics","ParamTy","ProjectionPredicate","RegionVid","ScalarInt","TraitPredicate","TraitRef","Ty","TyS","ValueConst","VariantDef"],"type":["GenericArgs","PolyFnSig"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["AliasKind","BoundRegionKind","BoundVariableKind","ClauseKind","Const","FloatTy","GenericArg","GenericParamDefKind","IntTy","Mutability","Region","TyKind","UintTy"],"fn":["region_to_string"],"mod":["subst"],"struct":["AdtDef","AdtDefData","AliasTy","Binder","BoundRegion","BoundVar","Clause","ClosureArgs","ClosureArgsParts","DebruijnIndex","EarlyBinder","EarlyBoundRegion","FieldDef","FnSig","FreeRegion","GeneratorArgs","GeneratorArgsParts","GenericParamDef","GenericPredicates","Generics","OutlivesPredicate","ParamTy","ProjectionPredicate","RegionVid","ScalarInt","TraitPredicate","TraitRef","Ty","TyS","ValueConst","VariantDef"],"type":["GenericArgs","PolyFnSig","TypeOutlivesPredicate"]}; \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/struct.AdtDef.html b/doc/flux_middle/rustc/ty/struct.AdtDef.html index 9f1fc0c02f..9a33b6d8ed 100644 --- a/doc/flux_middle/rustc/ty/struct.AdtDef.html +++ b/doc/flux_middle/rustc/ty/struct.AdtDef.html @@ -1,8 +1,8 @@ -AdtDef in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::AdtDef

    source ·
    pub struct AdtDef(Interned<AdtDefData>);

    Tuple Fields§

    §0: Interned<AdtDefData>

    Implementations§

    source§

    impl AdtDef

    source

    pub(crate) fn new(data: AdtDefData) -> Self

    source

    pub fn did(&self) -> DefId

    source

    pub fn flags(&self) -> AdtFlags

    source

    pub fn is_struct(&self) -> bool

    source

    pub fn is_union(&self) -> bool

    source

    pub fn is_enum(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    source

    pub fn variant(&self, idx: VariantIdx) -> &VariantDef

    source

    pub fn variants(&self) -> &IndexSlice<VariantIdx, VariantDef>

    source

    pub fn non_enum_variant(&self) -> &VariantDef

    Trait Implementations§

    source§

    impl Clone for AdtDef

    source§

    fn clone(&self) -> AdtDef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AdtDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +AdtDef in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::AdtDef

    source ·
    pub struct AdtDef(Interned<AdtDefData>);

    Tuple Fields§

    §0: Interned<AdtDefData>

    Implementations§

    source§

    impl AdtDef

    source

    pub(crate) fn new(data: AdtDefData) -> Self

    source

    pub fn did(&self) -> DefId

    source

    pub fn flags(&self) -> AdtFlags

    source

    pub fn is_struct(&self) -> bool

    source

    pub fn is_union(&self) -> bool

    source

    pub fn is_enum(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    source

    pub fn variant(&self, idx: VariantIdx) -> &VariantDef

    source

    pub fn variants(&self) -> &IndexSlice<VariantIdx, VariantDef>

    source

    pub fn non_enum_variant(&self) -> &VariantDef

    Trait Implementations§

    source§

    impl Clone for AdtDef

    source§

    fn clone(&self) -> AdtDef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AdtDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AdtDef

    source§

    fn eq(&self, other: &AdtDef) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AdtDef

    source§

    fn eq(&self, other: &AdtDef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for AdtDef

    source§

    impl StructuralEq for AdtDef

    source§

    impl StructuralPartialEq for AdtDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for AdtDef

    source§

    impl StructuralEq for AdtDef

    source§

    impl StructuralPartialEq for AdtDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.AdtDefData.html b/doc/flux_middle/rustc/ty/struct.AdtDefData.html index f3d8860c7b..8284bad5e1 100644 --- a/doc/flux_middle/rustc/ty/struct.AdtDefData.html +++ b/doc/flux_middle/rustc/ty/struct.AdtDefData.html @@ -1,16 +1,16 @@ -AdtDefData in flux_middle::rustc::ty - Rust
    pub struct AdtDefData {
    +AdtDefData in flux_middle::rustc::ty - Rust
    pub struct AdtDefData {
         pub did: DefId,
         variants: IndexVec<VariantIdx, VariantDef>,
         flags: AdtFlags,
    -}

    Fields§

    §did: DefId§variants: IndexVec<VariantIdx, VariantDef>§flags: AdtFlags

    Implementations§

    source§

    impl AdtDefData

    source

    pub(crate) fn new( +}

    Fields§

    §did: DefId§variants: IndexVec<VariantIdx, VariantDef>§flags: AdtFlags

    Implementations§

    source§

    impl AdtDefData

    source

    pub(crate) fn new( did: DefId, variants: IndexVec<VariantIdx, VariantDef>, flags: AdtFlags -) -> Self

    Trait Implementations§

    source§

    impl Debug for AdtDefData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDefData

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDefData

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDefData

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Self

    Trait Implementations§

    source§

    impl Debug for AdtDefData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for AdtDefData

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for AdtDefData

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for AdtDefData

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for AdtDefData

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for AdtDefData

    source§

    fn eq(&self, other: &AdtDefData) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for AdtDefData

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for AdtDefData

    source§

    fn eq(&self, other: &AdtDefData) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for AdtDefData

    source§

    impl StructuralEq for AdtDefData

    source§

    impl StructuralPartialEq for AdtDefData

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for AdtDefData

    source§

    impl StructuralEq for AdtDefData

    source§

    impl StructuralPartialEq for AdtDefData

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.AliasTy.html b/doc/flux_middle/rustc/ty/struct.AliasTy.html index f402bed3fc..bb456c1a15 100644 --- a/doc/flux_middle/rustc/ty/struct.AliasTy.html +++ b/doc/flux_middle/rustc/ty/struct.AliasTy.html @@ -1,12 +1,12 @@ -AliasTy in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::AliasTy

    source ·
    pub struct AliasTy {
    +AliasTy in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::AliasTy

    source ·
    pub struct AliasTy {
         pub args: GenericArgs,
         pub def_id: DefId,
    -}

    Fields§

    §args: GenericArgs§def_id: DefId

    Implementations§

    source§

    impl AliasTy

    source

    pub fn self_ty(&self) -> &Ty

    This method work only with associated type projections (i.e., no opaque tpes)

    -

    Trait Implementations§

    source§

    impl Debug for AliasTy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for AliasTy

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §args: GenericArgs§def_id: DefId

    Implementations§

    source§

    impl AliasTy

    source

    pub fn self_ty(&self) -> &Ty

    This method work only with associated type projections (i.e., no opaque tpes)

    +

    Trait Implementations§

    source§

    impl Debug for AliasTy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for AliasTy

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasTy

    source§

    fn eq(&self, other: &AliasTy) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for AliasTy

    source§

    fn eq(&self, other: &AliasTy) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for AliasTy

    source§

    impl StructuralEq for AliasTy

    source§

    impl StructuralPartialEq for AliasTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for AliasTy

    source§

    impl StructuralEq for AliasTy

    source§

    impl StructuralPartialEq for AliasTy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.Binder.html b/doc/flux_middle/rustc/ty/struct.Binder.html index 76e77c429f..7a8d6210cd 100644 --- a/doc/flux_middle/rustc/ty/struct.Binder.html +++ b/doc/flux_middle/rustc/ty/struct.Binder.html @@ -1,7 +1,7 @@ -Binder in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::Binder

    source ·
    pub struct Binder<T>(T, List<BoundVariableKind>);

    Tuple Fields§

    §0: T§1: List<BoundVariableKind>

    Implementations§

    source§

    impl<T> Binder<T>

    source

    pub fn bind_with_vars( +Binder in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::Binder

    source ·
    pub struct Binder<T>(T, List<BoundVariableKind>);

    Tuple Fields§

    §0: T§1: List<BoundVariableKind>

    Implementations§

    source§

    impl<T> Binder<T>

    source

    pub fn bind_with_vars( value: T, vars: impl Into<List<BoundVariableKind>> -) -> Binder<T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Binder<T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    Trait Implementations§

    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always diff --git a/doc/flux_middle/rustc/ty/struct.BoundRegion.html b/doc/flux_middle/rustc/ty/struct.BoundRegion.html index 994aceb413..cfa40e7be5 100644 --- a/doc/flux_middle/rustc/ty/struct.BoundRegion.html +++ b/doc/flux_middle/rustc/ty/struct.BoundRegion.html @@ -1,11 +1,11 @@ -BoundRegion in flux_middle::rustc::ty - Rust
    pub struct BoundRegion {
    +BoundRegion in flux_middle::rustc::ty - Rust
    pub struct BoundRegion {
         pub var: BoundVar,
         pub kind: BoundRegionKind,
    -}

    Fields§

    §var: BoundVar§kind: BoundRegionKind

    Trait Implementations§

    source§

    impl Clone for BoundRegion

    source§

    fn clone(&self) -> BoundRegion

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BoundRegion

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for BoundRegion

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for BoundRegion

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for BoundRegion

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §var: BoundVar§kind: BoundRegionKind

    Trait Implementations§

    source§

    impl Clone for BoundRegion

    source§

    fn clone(&self) -> BoundRegion

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BoundRegion

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for BoundRegion

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for BoundRegion

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for BoundRegion

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BoundRegion

    source§

    fn eq(&self, other: &BoundRegion) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for BoundRegion

    source§

    fn eq(&self, other: &BoundRegion) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Copy for BoundRegion

    source§

    impl Eq for BoundRegion

    source§

    impl StructuralEq for BoundRegion

    source§

    impl StructuralPartialEq for BoundRegion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for BoundRegion

    source§

    impl Eq for BoundRegion

    source§

    impl StructuralEq for BoundRegion

    source§

    impl StructuralPartialEq for BoundRegion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.Clause.html b/doc/flux_middle/rustc/ty/struct.Clause.html index 4714cfc930..59e61463c5 100644 --- a/doc/flux_middle/rustc/ty/struct.Clause.html +++ b/doc/flux_middle/rustc/ty/struct.Clause.html @@ -1,10 +1,10 @@ Clause in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::Clause

    source ·
    pub struct Clause {
         pub kind: ClauseKind,
    -}

    Fields§

    §kind: ClauseKind

    Implementations§

    source§

    impl Clause

    source

    pub(crate) fn new(kind: ClauseKind) -> Clause

    Trait Implementations§

    source§

    impl Debug for Clause

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Clause

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §kind: ClauseKind

    Implementations§

    source§

    impl Clause

    source

    pub(crate) fn new(kind: ClauseKind) -> Clause

    Trait Implementations§

    source§

    impl Debug for Clause

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Clause

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Clause

    source§

    fn eq(&self, other: &Clause) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for Clause

    source§

    impl Eq for Clause

    source§

    impl StructuralEq for Clause

    source§

    impl StructuralPartialEq for Clause

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for Clause

    source§

    impl Eq for Clause

    source§

    impl StructuralEq for Clause

    source§

    impl StructuralPartialEq for Clause

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.ClosureArgs.html b/doc/flux_middle/rustc/ty/struct.ClosureArgs.html index 42e8cdbc24..a1db02bf77 100644 --- a/doc/flux_middle/rustc/ty/struct.ClosureArgs.html +++ b/doc/flux_middle/rustc/ty/struct.ClosureArgs.html @@ -1,6 +1,6 @@ -ClosureArgs in flux_middle::rustc::ty - Rust
    pub struct ClosureArgs {
    +ClosureArgs in flux_middle::rustc::ty - Rust
    pub struct ClosureArgs {
         pub args: GenericArgs,
    -}

    Fields§

    §args: GenericArgs

    Implementations§

    source§

    impl ClosureArgs

    source

    pub fn tupled_upvars_ty(&self) -> &Ty

    source

    pub fn upvar_tys(&self) -> &List<Ty>

    source

    pub fn split(&self) -> ClosureArgsParts<'_, GenericArg>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §args: GenericArgs

    Implementations§

    source§

    impl ClosureArgs

    source

    pub fn tupled_upvars_ty(&self) -> &Ty

    source

    pub fn upvar_tys(&self) -> &List<Ty>

    source

    pub fn split(&self) -> ClosureArgsParts<'_, GenericArg>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rustc/ty/struct.ClosureArgsParts.html b/doc/flux_middle/rustc/ty/struct.ClosureArgsParts.html index c48fd76cf7..de47f45b2d 100644 --- a/doc/flux_middle/rustc/ty/struct.ClosureArgsParts.html +++ b/doc/flux_middle/rustc/ty/struct.ClosureArgsParts.html @@ -1,4 +1,4 @@ -ClosureArgsParts in flux_middle::rustc::ty - Rust
    pub struct ClosureArgsParts<'a, T> {
    +ClosureArgsParts in flux_middle::rustc::ty - Rust
    pub struct ClosureArgsParts<'a, T> {
         parent_args: &'a [T],
         closure_kind_ty: &'a T,
         closure_sig_as_fn_ptr_ty: &'a T,
    diff --git a/doc/flux_middle/rustc/ty/struct.DebruijnIndex.html b/doc/flux_middle/rustc/ty/struct.DebruijnIndex.html
    index bfef1253cf..dbaf4492d7 100644
    --- a/doc/flux_middle/rustc/ty/struct.DebruijnIndex.html
    +++ b/doc/flux_middle/rustc/ty/struct.DebruijnIndex.html
    @@ -33,7 +33,7 @@
     rather the outer one). Therefore, in this case, it is assigned a
     De Bruijn index of 0, because the innermost binder in that location
     is the outer fn.

    -

    Fields§

    §private: u32

    Trait Implementations§

    source§

    impl Pretty for DebruijnIndex

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Fields§

    §private: u32

    Trait Implementations§

    source§

    impl Pretty for DebruijnIndex

    source§

    fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.EarlyBinder.html b/doc/flux_middle/rustc/ty/struct.EarlyBinder.html index 2963fd203e..754fc6d0f2 100644 --- a/doc/flux_middle/rustc/ty/struct.EarlyBinder.html +++ b/doc/flux_middle/rustc/ty/struct.EarlyBinder.html @@ -1,4 +1,4 @@ -EarlyBinder in flux_middle::rustc::ty - Rust
    pub struct EarlyBinder<T>(pub T);

    Tuple Fields§

    §0: T

    Implementations§

    source§

    impl<T> EarlyBinder<T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn instantiate_identity(self) -> T

    source§

    impl EarlyBinder<Ty>

    source

    pub fn subst(&self, args: &[GenericArg]) -> Ty

    Trait Implementations§

    source§

    impl<T: Clone> Clone for EarlyBinder<T>

    source§

    fn clone(&self) -> EarlyBinder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for EarlyBinder<T>where +EarlyBinder in flux_middle::rustc::ty - Rust
    pub struct EarlyBinder<T>(pub T);

    Tuple Fields§

    §0: T

    Implementations§

    source§

    impl<T> EarlyBinder<T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn instantiate_identity(self) -> T

    source§

    impl EarlyBinder<Ty>

    source

    pub fn subst(&self, args: &[GenericArg]) -> Ty

    Trait Implementations§

    source§

    impl<T: Clone> Clone for EarlyBinder<T>

    source§

    fn clone(&self) -> EarlyBinder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for EarlyBinder<T>where T: RefUnwindSafe,

    §

    impl<T> Send for EarlyBinder<T>where T: Send,

    §

    impl<T> Sync for EarlyBinder<T>where T: Sync,

    §

    impl<T> Unpin for EarlyBinder<T>where diff --git a/doc/flux_middle/rustc/ty/struct.FieldDef.html b/doc/flux_middle/rustc/ty/struct.FieldDef.html index 9e877501e6..4b3f452446 100644 --- a/doc/flux_middle/rustc/ty/struct.FieldDef.html +++ b/doc/flux_middle/rustc/ty/struct.FieldDef.html @@ -1,11 +1,11 @@ -FieldDef in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::FieldDef

    source ·
    pub struct FieldDef {
    +FieldDef in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::FieldDef

    source ·
    pub struct FieldDef {
         pub did: DefId,
         pub name: Symbol,
    -}

    Fields§

    §did: DefId§name: Symbol

    Trait Implementations§

    source§

    impl Debug for FieldDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FieldDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FieldDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FieldDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §did: DefId§name: Symbol

    Trait Implementations§

    source§

    impl Debug for FieldDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FieldDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FieldDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FieldDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FieldDef

    source§

    fn eq(&self, other: &FieldDef) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    source§

    impl PartialEq for FieldDef

    source§

    fn eq(&self, other: &FieldDef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for FieldDef

    source§

    impl StructuralEq for FieldDef

    source§

    impl StructuralPartialEq for FieldDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for FieldDef

    source§

    impl StructuralEq for FieldDef

    source§

    impl StructuralPartialEq for FieldDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.FnSig.html b/doc/flux_middle/rustc/ty/struct.FnSig.html index 3c24c860e3..b4ebed4572 100644 --- a/doc/flux_middle/rustc/ty/struct.FnSig.html +++ b/doc/flux_middle/rustc/ty/struct.FnSig.html @@ -1,10 +1,10 @@ -FnSig in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::FnSig

    source ·
    pub struct FnSig {
    +FnSig in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::FnSig

    source ·
    pub struct FnSig {
         pub(crate) inputs_and_output: List<Ty>,
    -}

    Fields§

    §inputs_and_output: List<Ty>

    Implementations§

    source§

    impl FnSig

    source

    pub fn inputs(&self) -> &[Ty]

    source

    pub fn output(&self) -> &Ty

    Trait Implementations§

    source§

    impl Clone for FnSig

    source§

    fn clone(&self) -> FnSig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnSig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for FnSig

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §inputs_and_output: List<Ty>

    Implementations§

    source§

    impl FnSig

    source

    pub fn inputs(&self) -> &[Ty]

    source

    pub fn output(&self) -> &Ty

    Trait Implementations§

    source§

    impl Clone for FnSig

    source§

    fn clone(&self) -> FnSig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for FnSig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for FnSig

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FnSig

    source§

    fn eq(&self, other: &FnSig) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FnSig

    source§

    fn eq(&self, other: &FnSig) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Subst for FnSig

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl Eq for FnSig

    source§

    impl StructuralEq for FnSig

    source§

    impl StructuralPartialEq for FnSig

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FnSig

    §

    impl Send for FnSig

    §

    impl Sync for FnSig

    §

    impl Unpin for FnSig

    §

    impl UnwindSafe for FnSig

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Subst for FnSig

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    source§

    impl Eq for FnSig

    source§

    impl StructuralEq for FnSig

    source§

    impl StructuralPartialEq for FnSig

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FnSig

    §

    impl Send for FnSig

    §

    impl Sync for FnSig

    §

    impl Unpin for FnSig

    §

    impl UnwindSafe for FnSig

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.FreeRegion.html b/doc/flux_middle/rustc/ty/struct.FreeRegion.html index 8dd50054f1..a42d58cb55 100644 --- a/doc/flux_middle/rustc/ty/struct.FreeRegion.html +++ b/doc/flux_middle/rustc/ty/struct.FreeRegion.html @@ -1,11 +1,11 @@ -FreeRegion in flux_middle::rustc::ty - Rust
    pub struct FreeRegion {
    +FreeRegion in flux_middle::rustc::ty - Rust
    pub struct FreeRegion {
         pub scope: DefId,
         pub bound_region: BoundRegionKind,
    -}

    Fields§

    §scope: DefId§bound_region: BoundRegionKind

    Trait Implementations§

    source§

    impl Clone for FreeRegion

    source§

    fn clone(&self) -> FreeRegion

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FreeRegion

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FreeRegion

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FreeRegion

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §scope: DefId§bound_region: BoundRegionKind

    Trait Implementations§

    source§

    impl Clone for FreeRegion

    source§

    fn clone(&self) -> FreeRegion

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for FreeRegion

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for FreeRegion

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for FreeRegion

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FreeRegion

    source§

    fn eq(&self, other: &FreeRegion) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for FreeRegion

    source§

    fn eq(&self, other: &FreeRegion) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Copy for FreeRegion

    source§

    impl Eq for FreeRegion

    source§

    impl StructuralEq for FreeRegion

    source§

    impl StructuralPartialEq for FreeRegion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for FreeRegion

    source§

    impl Eq for FreeRegion

    source§

    impl StructuralEq for FreeRegion

    source§

    impl StructuralPartialEq for FreeRegion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.GeneratorArgs.html b/doc/flux_middle/rustc/ty/struct.GeneratorArgs.html index bb8cf30827..1854f6d034 100644 --- a/doc/flux_middle/rustc/ty/struct.GeneratorArgs.html +++ b/doc/flux_middle/rustc/ty/struct.GeneratorArgs.html @@ -1,6 +1,6 @@ -GeneratorArgs in flux_middle::rustc::ty - Rust
    pub struct GeneratorArgs {
    +GeneratorArgs in flux_middle::rustc::ty - Rust
    pub struct GeneratorArgs {
         pub args: GenericArgs,
    -}

    Fields§

    §args: GenericArgs

    Implementations§

    source§

    impl GeneratorArgs

    source

    pub fn tupled_upvars_ty(&self) -> &Ty

    source

    pub fn upvar_tys(&self) -> impl Iterator<Item = &Ty>

    source

    fn split(&self) -> GeneratorArgsParts<'_, GenericArg>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §args: GenericArgs

    Implementations§

    source§

    impl GeneratorArgs

    source

    pub fn tupled_upvars_ty(&self) -> &Ty

    source

    pub fn upvar_tys(&self) -> impl Iterator<Item = &Ty>

    source

    fn split(&self) -> GeneratorArgsParts<'_, GenericArg>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rustc/ty/struct.GeneratorArgsParts.html b/doc/flux_middle/rustc/ty/struct.GeneratorArgsParts.html index ef11c368c6..48fe9e2d88 100644 --- a/doc/flux_middle/rustc/ty/struct.GeneratorArgsParts.html +++ b/doc/flux_middle/rustc/ty/struct.GeneratorArgsParts.html @@ -1,11 +1,11 @@ -GeneratorArgsParts in flux_middle::rustc::ty - Rust
    pub struct GeneratorArgsParts<'a, T> {
    +GeneratorArgsParts in flux_middle::rustc::ty - Rust
    pub struct GeneratorArgsParts<'a, T> {
         pub parent_args: &'a [T],
         pub resume_ty: &'a T,
         pub yield_ty: &'a T,
         pub return_ty: &'a T,
         pub witness: &'a T,
         pub tupled_upvars_ty: &'a T,
    -}

    Fields§

    §parent_args: &'a [T]§resume_ty: &'a T§yield_ty: &'a T§return_ty: &'a T§witness: &'a T§tupled_upvars_ty: &'a T

    Trait Implementations§

    source§

    impl<'a, T: Debug> Debug for GeneratorArgsParts<'a, T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<'a, T> RefUnwindSafe for GeneratorArgsParts<'a, T>where +}

    Fields§

    §parent_args: &'a [T]§resume_ty: &'a T§yield_ty: &'a T§return_ty: &'a T§witness: &'a T§tupled_upvars_ty: &'a T

    Trait Implementations§

    source§

    impl<'a, T: Debug> Debug for GeneratorArgsParts<'a, T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<'a, T> RefUnwindSafe for GeneratorArgsParts<'a, T>where T: RefUnwindSafe,

    §

    impl<'a, T> Send for GeneratorArgsParts<'a, T>where T: Sync,

    §

    impl<'a, T> Sync for GeneratorArgsParts<'a, T>where T: Sync,

    §

    impl<'a, T> Unpin for GeneratorArgsParts<'a, T>

    §

    impl<'a, T> UnwindSafe for GeneratorArgsParts<'a, T>where diff --git a/doc/flux_middle/rustc/ty/struct.GenericParamDef.html b/doc/flux_middle/rustc/ty/struct.GenericParamDef.html index c6880a2f9a..4728eb5dc8 100644 --- a/doc/flux_middle/rustc/ty/struct.GenericParamDef.html +++ b/doc/flux_middle/rustc/ty/struct.GenericParamDef.html @@ -7,7 +7,7 @@ H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for GenericParamDef

    source§

    fn eq(&self, other: &GenericParamDef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for GenericParamDef

    source§

    impl Eq for GenericParamDef

    source§

    impl StructuralEq for GenericParamDef

    source§

    impl StructuralPartialEq for GenericParamDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for GenericParamDef

    source§

    impl Eq for GenericParamDef

    source§

    impl StructuralEq for GenericParamDef

    source§

    impl StructuralPartialEq for GenericParamDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.Generics.html b/doc/flux_middle/rustc/ty/struct.Generics.html index d815ab9857..558bc349f2 100644 --- a/doc/flux_middle/rustc/ty/struct.Generics.html +++ b/doc/flux_middle/rustc/ty/struct.Generics.html @@ -1,7 +1,7 @@ Generics in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::Generics

    source ·
    pub struct Generics<'tcx> {
         pub params: List<GenericParamDef>,
         pub orig: &'tcx Generics,
    -}

    Fields§

    §params: List<GenericParamDef>§orig: &'tcx Generics

    Implementations§

    source§

    impl Generics<'_>

    source

    pub fn parent(&self) -> Option<DefId>

    source

    pub fn parent_count(&self) -> usize

    Auto Trait Implementations§

    §

    impl<'tcx> RefUnwindSafe for Generics<'tcx>

    §

    impl<'tcx> Send for Generics<'tcx>

    §

    impl<'tcx> Sync for Generics<'tcx>

    §

    impl<'tcx> Unpin for Generics<'tcx>

    §

    impl<'tcx> UnwindSafe for Generics<'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §params: List<GenericParamDef>§orig: &'tcx Generics

    Implementations§

    source§

    impl Generics<'_>

    source

    pub fn parent(&self) -> Option<DefId>

    source

    pub fn parent_count(&self) -> usize

    Auto Trait Implementations§

    §

    impl<'tcx> RefUnwindSafe for Generics<'tcx>

    §

    impl<'tcx> Send for Generics<'tcx>

    §

    impl<'tcx> Sync for Generics<'tcx>

    §

    impl<'tcx> Unpin for Generics<'tcx>

    §

    impl<'tcx> UnwindSafe for Generics<'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rustc/ty/struct.OutlivesPredicate.html b/doc/flux_middle/rustc/ty/struct.OutlivesPredicate.html new file mode 100644 index 0000000000..9088276c78 --- /dev/null +++ b/doc/flux_middle/rustc/ty/struct.OutlivesPredicate.html @@ -0,0 +1,49 @@ +OutlivesPredicate in flux_middle::rustc::ty - Rust
    pub struct OutlivesPredicate<A, B>(pub A, pub B);
    Expand description

    A: B

    +

    Tuple Fields§

    §0: A§1: B

    Trait Implementations§

    source§

    impl<T: TypeFoldable, U: TypeFoldable> TypeFoldable for OutlivesPredicate<T, U>

    source§

    fn try_fold_with<F: FallibleTypeFolder>( + &self, + folder: &mut F +) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>( + &self, + genv: &GlobalEnv<'_, 'tcx>, + infcx: &InferCtxt<'tcx>, + callsite_def_id: DefId, + refine_params: &[Expr] +) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with +all the layers of bound variables at the point the hole was found. Each layer corresponds +to the list of sorts bound at that level. The list is ordered from outermost to innermost +binder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a +hole. It also replaces all existing predicates with a hole. +For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    source§

    impl<T: TypeVisitable, U: TypeVisitable> TypeVisitable for OutlivesPredicate<T, U>

    source§

    fn visit_with<V: TypeVisitor>( + &self, + visitor: &mut V +) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids

    Auto Trait Implementations§

    §

    impl<A, B> RefUnwindSafe for OutlivesPredicate<A, B>where + A: RefUnwindSafe, + B: RefUnwindSafe,

    §

    impl<A, B> Send for OutlivesPredicate<A, B>where + A: Send, + B: Send,

    §

    impl<A, B> Sync for OutlivesPredicate<A, B>where + A: Sync, + B: Sync,

    §

    impl<A, B> Unpin for OutlivesPredicate<A, B>where + A: Unpin, + B: Unpin,

    §

    impl<A, B> UnwindSafe for OutlivesPredicate<A, B>where + A: UnwindSafe, + B: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere + Q: Ord + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/struct.ParamTy.html b/doc/flux_middle/rustc/ty/struct.ParamTy.html index 29ef891a68..d913c7d5c2 100644 --- a/doc/flux_middle/rustc/ty/struct.ParamTy.html +++ b/doc/flux_middle/rustc/ty/struct.ParamTy.html @@ -1,4 +1,4 @@ -ParamTy in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::ParamTy

    source ·
    pub struct ParamTy {
    +ParamTy in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::ParamTy

    source ·
    pub struct ParamTy {
         pub index: u32,
         pub name: Symbol,
     }

    Fields§

    §index: u32§name: Symbol

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere @@ -19,4 +19,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/struct.ProjectionPredicate.html b/doc/flux_middle/rustc/ty/struct.ProjectionPredicate.html index 126c37ed74..1dbb536095 100644 --- a/doc/flux_middle/rustc/ty/struct.ProjectionPredicate.html +++ b/doc/flux_middle/rustc/ty/struct.ProjectionPredicate.html @@ -1,11 +1,11 @@ -ProjectionPredicate in flux_middle::rustc::ty - Rust
    pub struct ProjectionPredicate {
    +ProjectionPredicate in flux_middle::rustc::ty - Rust
    pub struct ProjectionPredicate {
         pub projection_ty: AliasTy,
         pub term: Ty,
    -}

    Fields§

    §projection_ty: AliasTy§term: Ty

    Trait Implementations§

    source§

    impl Debug for ProjectionPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ProjectionPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §projection_ty: AliasTy§term: Ty

    Trait Implementations§

    source§

    impl Debug for ProjectionPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ProjectionPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ProjectionPredicate

    source§

    fn eq(&self, other: &ProjectionPredicate) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ProjectionPredicate

    source§

    fn eq(&self, other: &ProjectionPredicate) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for ProjectionPredicate

    source§

    impl StructuralEq for ProjectionPredicate

    source§

    impl StructuralPartialEq for ProjectionPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for ProjectionPredicate

    source§

    impl StructuralEq for ProjectionPredicate

    source§

    impl StructuralPartialEq for ProjectionPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.ScalarInt.html b/doc/flux_middle/rustc/ty/struct.ScalarInt.html index bcc81395a0..c25e3a4ba0 100644 --- a/doc/flux_middle/rustc/ty/struct.ScalarInt.html +++ b/doc/flux_middle/rustc/ty/struct.ScalarInt.html @@ -1,4 +1,4 @@ -ScalarInt in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::ScalarInt

    source ·
    #[repr(packed(1))]
    pub struct ScalarInt { +ScalarInt in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::ScalarInt

    source ·
    #[repr(packed(1))]
    pub struct ScalarInt { data: u128, size: NonZeroU8, }
    Expand description

    The raw bytes of a simple value.

    @@ -22,4 +22,5 @@ T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: TryFrom<T>,
    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/struct.TraitPredicate.html b/doc/flux_middle/rustc/ty/struct.TraitPredicate.html index 28a2739f75..8b3f8a7511 100644 --- a/doc/flux_middle/rustc/ty/struct.TraitPredicate.html +++ b/doc/flux_middle/rustc/ty/struct.TraitPredicate.html @@ -1,10 +1,10 @@ -TraitPredicate in flux_middle::rustc::ty - Rust
    pub struct TraitPredicate {
    +TraitPredicate in flux_middle::rustc::ty - Rust
    pub struct TraitPredicate {
         pub trait_ref: TraitRef,
    -}

    Fields§

    §trait_ref: TraitRef

    Trait Implementations§

    source§

    impl Debug for TraitPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §trait_ref: TraitRef

    Trait Implementations§

    source§

    impl Debug for TraitPredicate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitPredicate

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitPredicate

    source§

    fn eq(&self, other: &TraitPredicate) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,
    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitPredicate

    source§

    fn eq(&self, other: &TraitPredicate) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for TraitPredicate

    source§

    impl StructuralEq for TraitPredicate

    source§

    impl StructuralPartialEq for TraitPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for TraitPredicate

    source§

    impl StructuralEq for TraitPredicate

    source§

    impl StructuralPartialEq for TraitPredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.TraitRef.html b/doc/flux_middle/rustc/ty/struct.TraitRef.html index 5ad1b5864e..ede8a22cc4 100644 --- a/doc/flux_middle/rustc/ty/struct.TraitRef.html +++ b/doc/flux_middle/rustc/ty/struct.TraitRef.html @@ -1,11 +1,11 @@ -TraitRef in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::TraitRef

    source ·
    pub struct TraitRef {
    +TraitRef in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::TraitRef

    source ·
    pub struct TraitRef {
         pub def_id: DefId,
         pub args: GenericArgs,
    -}

    Fields§

    §def_id: DefId§args: GenericArgs

    Implementations§

    source§

    impl TraitRef

    source

    pub fn self_ty(&self) -> &Ty

    Trait Implementations§

    source§

    impl Debug for TraitRef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitRef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §def_id: DefId§args: GenericArgs

    Implementations§

    source§

    impl TraitRef

    source

    pub fn self_ty(&self) -> &Ty

    Trait Implementations§

    source§

    impl Debug for TraitRef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TraitRef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitRef

    source§

    fn eq(&self, other: &TraitRef) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for TraitRef

    source§

    fn eq(&self, other: &TraitRef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for TraitRef

    source§

    impl StructuralEq for TraitRef

    source§

    impl StructuralPartialEq for TraitRef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for TraitRef

    source§

    impl StructuralEq for TraitRef

    source§

    impl StructuralPartialEq for TraitRef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.Ty.html b/doc/flux_middle/rustc/ty/struct.Ty.html index 193eb5e99a..1d31b580b1 100644 --- a/doc/flux_middle/rustc/ty/struct.Ty.html +++ b/doc/flux_middle/rustc/ty/struct.Ty.html @@ -1,12 +1,12 @@ -Ty in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::Ty

    source ·
    pub struct Ty(Interned<TyS>);

    Tuple Fields§

    §0: Interned<TyS>

    Implementations§

    source§

    impl Ty

    source

    pub fn mk_adt(adt_def: AdtDef, args: impl Into<GenericArgs>) -> Ty

    source

    pub fn mk_closure(def_id: DefId, args: impl Into<GenericArgs>) -> Ty

    source

    pub fn mk_coroutine(def_id: DefId, args: impl Into<GenericArgs>) -> Ty

    source

    pub fn mk_generator_witness(def_id: DefId, args: GenericArgs) -> Ty

    source

    pub fn mk_alias( +Ty in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::Ty

    source ·
    pub struct Ty(Interned<TyS>);

    Tuple Fields§

    §0: Interned<TyS>

    Implementations§

    source§

    impl Ty

    source

    pub fn mk_adt(adt_def: AdtDef, args: impl Into<GenericArgs>) -> Ty

    source

    pub fn mk_closure(def_id: DefId, args: impl Into<GenericArgs>) -> Ty

    source

    pub fn mk_coroutine(def_id: DefId, args: impl Into<GenericArgs>) -> Ty

    source

    pub fn mk_generator_witness(def_id: DefId, args: GenericArgs) -> Ty

    source

    pub fn mk_alias( kind: AliasKind, def_id: DefId, args: impl Into<GenericArgs> -) -> Ty

    source

    pub fn mk_array(ty: Ty, c: Const) -> Ty

    source

    pub fn mk_slice(ty: Ty) -> Ty

    source

    pub fn mk_fn_ptr(fn_sig: PolyFnSig) -> Ty

    source

    pub fn mk_raw_ptr(ty: Ty, mutbl: Mutability) -> Ty

    source

    pub fn mk_bool() -> Ty

    source

    pub fn mk_float(float_ty: FloatTy) -> Ty

    source

    pub fn mk_int(int_ty: IntTy) -> Ty

    source

    pub fn mk_never() -> Ty

    source

    pub fn mk_param(param: ParamTy) -> Ty

    source

    pub fn mk_ref(region: Region, ty: Ty, mutability: Mutability) -> Ty

    source

    pub fn mk_tuple(tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn mk_uint(uint_ty: UintTy) -> Ty

    source

    pub fn mk_str() -> Ty

    source

    pub fn mk_char() -> Ty

    source

    pub fn mk_usize() -> Ty

    source

    pub fn deref(&self) -> Ty

    source

    pub fn kind(&self) -> &TyKind

    source

    pub fn tuple_fields(&self) -> &List<Ty>

    source

    pub fn expect_adt(&self) -> (&AdtDef, &GenericArgs)

    source

    pub fn is_mut_ref(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for Ty

    source§

    fn clone(&self) -> Ty

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Ty

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Ty

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +) -> Ty

    source

    pub fn mk_array(ty: Ty, c: Const) -> Ty

    source

    pub fn mk_slice(ty: Ty) -> Ty

    source

    pub fn mk_fn_ptr(fn_sig: PolyFnSig) -> Ty

    source

    pub fn mk_raw_ptr(ty: Ty, mutbl: Mutability) -> Ty

    source

    pub fn mk_bool() -> Ty

    source

    pub fn mk_float(float_ty: FloatTy) -> Ty

    source

    pub fn mk_int(int_ty: IntTy) -> Ty

    source

    pub fn mk_never() -> Ty

    source

    pub fn mk_param(param: ParamTy) -> Ty

    source

    pub fn mk_ref(region: Region, ty: Ty, mutability: Mutability) -> Ty

    source

    pub fn mk_tuple(tys: impl Into<List<Ty>>) -> Ty

    source

    pub fn mk_uint(uint_ty: UintTy) -> Ty

    source

    pub fn mk_str() -> Ty

    source

    pub fn mk_char() -> Ty

    source

    pub fn mk_usize() -> Ty

    source

    pub fn deref(&self) -> Ty

    source

    pub fn kind(&self) -> &TyKind

    source

    pub fn tuple_fields(&self) -> &List<Ty>

    source

    pub fn expect_adt(&self) -> (&AdtDef, &GenericArgs)

    source

    pub fn is_mut_ref(&self) -> bool

    source

    pub fn is_box(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for Ty

    source§

    fn clone(&self) -> Ty

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Ty

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Ty

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Ty

    source§

    fn eq(&self, other: &Ty) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Ty

    source§

    fn eq(&self, other: &Ty) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl SliceInternable for Ty

    source§

    impl Subst for Ty

    source§

    fn subst(&self, args: &[GenericArg]) -> Ty

    source§

    impl Eq for Ty

    source§

    impl StructuralEq for Ty

    source§

    impl StructuralPartialEq for Ty

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ty

    §

    impl Send for Ty

    §

    impl Sync for Ty

    §

    impl Unpin for Ty

    §

    impl UnwindSafe for Ty

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl SliceInternable for Ty

    source§

    impl Subst for Ty

    source§

    fn subst(&self, args: &[GenericArg]) -> Ty

    source§

    impl Eq for Ty

    source§

    impl StructuralEq for Ty

    source§

    impl StructuralPartialEq for Ty

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ty

    §

    impl Send for Ty

    §

    impl Sync for Ty

    §

    impl Unpin for Ty

    §

    impl UnwindSafe for Ty

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.TyS.html b/doc/flux_middle/rustc/ty/struct.TyS.html index 7b92e879ba..da6e496fd3 100644 --- a/doc/flux_middle/rustc/ty/struct.TyS.html +++ b/doc/flux_middle/rustc/ty/struct.TyS.html @@ -1,10 +1,10 @@ -TyS in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::TyS

    source ·
    struct TyS {
    +TyS in flux_middle::rustc::ty - Rust

    Struct flux_middle::rustc::ty::TyS

    source ·
    struct TyS {
         kind: TyKind,
    -}

    Fields§

    §kind: TyKind

    Trait Implementations§

    source§

    impl Debug for TyS

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TyS

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §kind: TyKind

    Trait Implementations§

    source§

    impl Debug for TyS

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for TyS

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for TyS

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for TyS

    source§

    fn eq(&self, other: &TyS) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Internable for TyS

    source§

    fn storage() -> &'static InternStorage<Self>

    source§

    impl PartialEq for TyS

    source§

    fn eq(&self, other: &TyS) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for TyS

    source§

    impl StructuralEq for TyS

    source§

    impl StructuralPartialEq for TyS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for TyS

    §

    impl Send for TyS

    §

    impl Sync for TyS

    §

    impl Unpin for TyS

    §

    impl UnwindSafe for TyS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for TyS

    source§

    impl StructuralEq for TyS

    source§

    impl StructuralPartialEq for TyS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for TyS

    §

    impl Send for TyS

    §

    impl Sync for TyS

    §

    impl Unpin for TyS

    §

    impl UnwindSafe for TyS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.ValueConst.html b/doc/flux_middle/rustc/ty/struct.ValueConst.html index bcb3ad18e3..ee83c2a475 100644 --- a/doc/flux_middle/rustc/ty/struct.ValueConst.html +++ b/doc/flux_middle/rustc/ty/struct.ValueConst.html @@ -1,10 +1,10 @@ -ValueConst in flux_middle::rustc::ty - Rust
    pub struct ValueConst {
    +ValueConst in flux_middle::rustc::ty - Rust
    pub struct ValueConst {
         pub val: usize,
    -}

    Fields§

    §val: usize

    Trait Implementations§

    source§

    impl Clone for ValueConst

    source§

    fn clone(&self) -> ValueConst

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ValueConst

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for ValueConst

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for ValueConst

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<ValueConst> for Index

    source§

    fn from(value: ValueConst) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for ValueConst

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §val: usize

    Trait Implementations§

    source§

    impl Clone for ValueConst

    source§

    fn clone(&self) -> ValueConst

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ValueConst

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: Decoder> Decodable<__D> for ValueConst

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: Encoder> Encodable<__E> for ValueConst

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl From<ValueConst> for Index

    source§

    fn from(value: ValueConst) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for ValueConst

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ValueConst

    source§

    fn eq(&self, other: &ValueConst) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for ValueConst

    source§

    fn eq(&self, other: &ValueConst) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for ValueConst

    source§

    impl StructuralEq for ValueConst

    source§

    impl StructuralPartialEq for ValueConst

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for ValueConst

    source§

    impl StructuralEq for ValueConst

    source§

    impl StructuralPartialEq for ValueConst

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/struct.VariantDef.html b/doc/flux_middle/rustc/ty/struct.VariantDef.html index ddb9499649..3c00bf77b1 100644 --- a/doc/flux_middle/rustc/ty/struct.VariantDef.html +++ b/doc/flux_middle/rustc/ty/struct.VariantDef.html @@ -1,12 +1,12 @@ -VariantDef in flux_middle::rustc::ty - Rust
    pub struct VariantDef {
    +VariantDef in flux_middle::rustc::ty - Rust
    pub struct VariantDef {
         pub def_id: DefId,
         pub name: Symbol,
         pub fields: IndexVec<FieldIdx, FieldDef>,
    -}

    Fields§

    §def_id: DefId§name: Symbol§fields: IndexVec<FieldIdx, FieldDef>

    Trait Implementations§

    source§

    impl Debug for VariantDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for VariantDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for VariantDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for VariantDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §def_id: DefId§name: Symbol§fields: IndexVec<FieldIdx, FieldDef>

    Trait Implementations§

    source§

    impl Debug for VariantDef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<__D: TyDecoder> Decodable<__D> for VariantDef

    source§

    fn decode(__decoder: &mut __D) -> Self

    source§

    impl<__E: TyEncoder> Encodable<__E> for VariantDef

    source§

    fn encode(&self, __encoder: &mut __E)

    source§

    impl Hash for VariantDef

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for VariantDef

    source§

    fn eq(&self, other: &VariantDef) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for VariantDef

    source§

    fn eq(&self, other: &VariantDef) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for VariantDef

    source§

    impl StructuralEq for VariantDef

    source§

    impl StructuralPartialEq for VariantDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for VariantDef

    source§

    impl StructuralEq for VariantDef

    source§

    impl StructuralPartialEq for VariantDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_middle/rustc/ty/type.GenericArgs.html b/doc/flux_middle/rustc/ty/type.GenericArgs.html index 7a236d5631..e5057b9231 100644 --- a/doc/flux_middle/rustc/ty/type.GenericArgs.html +++ b/doc/flux_middle/rustc/ty/type.GenericArgs.html @@ -1,3 +1,3 @@ -GenericArgs in flux_middle::rustc::ty - Rust

    Type Alias flux_middle::rustc::ty::GenericArgs

    source ·
    pub type GenericArgs = List<GenericArg>;

    Aliased Type§

    struct GenericArgs {
    +GenericArgs in flux_middle::rustc::ty - Rust

    Type Alias flux_middle::rustc::ty::GenericArgs

    source ·
    pub type GenericArgs = List<GenericArg>;

    Aliased Type§

    struct GenericArgs {
         arc: Arc<[GenericArg]>,
    -}

    Fields§

    §arc: Arc<[GenericArg]>

    Implementations§

    \ No newline at end of file +}

    Fields§

    §arc: Arc<[GenericArg]>

    Implementations§

    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/type.PolyFnSig.html b/doc/flux_middle/rustc/ty/type.PolyFnSig.html index 27a978f1d2..a828ef13f2 100644 --- a/doc/flux_middle/rustc/ty/type.PolyFnSig.html +++ b/doc/flux_middle/rustc/ty/type.PolyFnSig.html @@ -1 +1 @@ -PolyFnSig in flux_middle::rustc::ty - Rust

    Type Alias flux_middle::rustc::ty::PolyFnSig

    source ·
    pub type PolyFnSig = Binder<FnSig>;

    Aliased Type§

    struct PolyFnSig(FnSig, Interned<[BoundVariableKind]>);

    Fields§

    §0: FnSig§1: Interned<[BoundVariableKind]>
    \ No newline at end of file +PolyFnSig in flux_middle::rustc::ty - Rust

    Type Alias flux_middle::rustc::ty::PolyFnSig

    source ·
    pub type PolyFnSig = Binder<FnSig>;

    Aliased Type§

    struct PolyFnSig(FnSig, Interned<[BoundVariableKind]>);

    Fields§

    §0: FnSig§1: Interned<[BoundVariableKind]>
    \ No newline at end of file diff --git a/doc/flux_middle/rustc/ty/type.TypeOutlivesPredicate.html b/doc/flux_middle/rustc/ty/type.TypeOutlivesPredicate.html new file mode 100644 index 0000000000..5a28bd96f6 --- /dev/null +++ b/doc/flux_middle/rustc/ty/type.TypeOutlivesPredicate.html @@ -0,0 +1 @@ +TypeOutlivesPredicate in flux_middle::rustc::ty - Rust
    pub type TypeOutlivesPredicate = OutlivesPredicate<Ty, Region>;

    Aliased Type§

    struct TypeOutlivesPredicate(pub Ty, pub Region);

    Fields§

    §0: Ty§1: Region
    \ No newline at end of file diff --git a/doc/flux_refineck/all.html b/doc/flux_refineck/all.html index 7859c73fe4..5d2a24d12e 100644 --- a/doc/flux_refineck/all.html +++ b/doc/flux_refineck/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Opaque Types

    Statics

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Opaque Types

    Statics

    Constants

    \ No newline at end of file diff --git a/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html b/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html index f10a56ac66..f8f48da743 100644 --- a/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html +++ b/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html @@ -1,9 +1,9 @@ -CheckerErrKind in flux_refineck::checker::errors - Rust
    pub enum CheckerErrKind {
    +CheckerErrKind in flux_refineck::checker::errors - Rust
    pub enum CheckerErrKind {
         Inference,
         OpaqueStruct(DefId),
         Query(QueryErr),
         InvalidGenericArg,
    -}

    Variants§

    §

    Inference

    §

    OpaqueStruct(DefId)

    §

    Query(QueryErr)

    §

    InvalidGenericArg

    Trait Implementations§

    source§

    impl Debug for CheckerErrKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<QueryErr> for CheckerErrKind

    source§

    fn from(err: QueryErr) -> Self

    Converts to this type from the input type.
    source§

    impl From<UnsolvedEvar> for CheckerErrKind

    source§

    fn from(_: UnsolvedEvar) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Variants§

    §

    Inference

    §

    OpaqueStruct(DefId)

    §

    Query(QueryErr)

    §

    InvalidGenericArg

    Trait Implementations§

    source§

    impl Debug for CheckerErrKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<QueryErr> for CheckerErrKind

    source§

    fn from(err: QueryErr) -> Self

    Converts to this type from the input type.
    source§

    impl From<UnsolvedEvar> for CheckerErrKind

    source§

    fn from(_: UnsolvedEvar) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_refineck/checker/errors/index.html b/doc/flux_refineck/checker/errors/index.html index 6b8eff3b05..d2b4eb8415 100644 --- a/doc/flux_refineck/checker/errors/index.html +++ b/doc/flux_refineck/checker/errors/index.html @@ -1 +1 @@ -flux_refineck::checker::errors - Rust
    \ No newline at end of file +flux_refineck::checker::errors - Rust
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/errors/struct.CheckerError.html b/doc/flux_refineck/checker/errors/struct.CheckerError.html index 4d112a613a..c61fd7bddf 100644 --- a/doc/flux_refineck/checker/errors/struct.CheckerError.html +++ b/doc/flux_refineck/checker/errors/struct.CheckerError.html @@ -1,7 +1,7 @@ -CheckerError in flux_refineck::checker::errors - Rust
    pub struct CheckerError {
    +CheckerError in flux_refineck::checker::errors - Rust
    pub struct CheckerError {
         kind: CheckerErrKind,
         span: Span,
    -}

    Fields§

    §kind: CheckerErrKind§span: Span

    Implementations§

    source§

    impl CheckerError

    source

    pub fn opaque_struct(def_id: DefId, span: Span) -> Self

    Trait Implementations§

    Fields§

    §kind: CheckerErrKind§span: Span

    Implementations§

    source§

    impl CheckerError

    source

    pub fn opaque_struct(def_id: DefId, span: Span) -> Self

    Trait Implementations§

    source§

    impl<'a> IntoDiagnostic<'a> for CheckerError

    source§

    fn into_diagnostic( self, handler: &'a Handler ) -> DiagnosticBuilder<'a, ErrorGuaranteed>

    Write out as a diagnostic out of Handler.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_refineck/checker/errors/trait.ResultExt.html b/doc/flux_refineck/checker/errors/trait.ResultExt.html index 1fe7f05fd1..009a78bdb1 100644 --- a/doc/flux_refineck/checker/errors/trait.ResultExt.html +++ b/doc/flux_refineck/checker/errors/trait.ResultExt.html @@ -1,4 +1,4 @@ -ResultExt in flux_refineck::checker::errors - Rust
    pub trait ResultExt {
    +ResultExt in flux_refineck::checker::errors - Rust
    pub trait ResultExt {
         type Ok;
     
         // Required methods
    @@ -7,5 +7,5 @@
             self,
             src_info: SourceInfo
         ) -> Result<Self::Ok, CheckerError>;
    -}

    Required Associated Types§

    Required Methods§

    source

    fn with_span(self, span: Span) -> Result<Self::Ok, CheckerError>

    source

    fn with_src_info(self, src_info: SourceInfo) -> Result<Self::Ok, CheckerError>

    Implementations on Foreign Types§

    source§

    impl<T, E> ResultExt for Result<T, E>where - E: Into<CheckerErrKind>,

    §

    type Ok = T

    source§

    fn with_span(self, span: Span) -> Result<T, CheckerError>

    source§

    fn with_src_info(self, src_info: SourceInfo) -> Result<T, CheckerError>

    Implementors§

    \ No newline at end of file +}

    Required Associated Types§

    Required Methods§

    source

    fn with_span(self, span: Span) -> Result<Self::Ok, CheckerError>

    source

    fn with_src_info(self, src_info: SourceInfo) -> Result<Self::Ok, CheckerError>

    Implementations on Foreign Types§

    source§

    impl<T, E> ResultExt for Result<T, E>where + E: Into<CheckerErrKind>,

    §

    type Ok = T

    source§

    fn with_span(self, span: Span) -> Result<T, CheckerError>

    source§

    fn with_src_info(self, src_info: SourceInfo) -> Result<T, CheckerError>

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.bool_int_cast.html b/doc/flux_refineck/checker/fn.bool_int_cast.html index 9dfba1289c..977eee71a7 100644 --- a/doc/flux_refineck/checker/fn.bool_int_cast.html +++ b/doc/flux_refineck/checker/fn.bool_int_cast.html @@ -1 +1 @@ -bool_int_cast in flux_refineck::checker - Rust
    fn bool_int_cast(b: &Expr, int_ty: IntTy) -> Ty
    \ No newline at end of file +bool_int_cast in flux_refineck::checker - Rust
    fn bool_int_cast(b: &Expr, int_ty: IntTy) -> Ty
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.bool_uint_cast.html b/doc/flux_refineck/checker/fn.bool_uint_cast.html index 94947e1b37..cd80e09e9d 100644 --- a/doc/flux_refineck/checker/fn.bool_uint_cast.html +++ b/doc/flux_refineck/checker/fn.bool_uint_cast.html @@ -1 +1 @@ -bool_uint_cast in flux_refineck::checker - Rust
    fn bool_uint_cast(b: &Expr, uint_ty: UintTy) -> Ty
    \ No newline at end of file +bool_uint_cast in flux_refineck::checker - Rust
    fn bool_uint_cast(b: &Expr, uint_ty: UintTy) -> Ty
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.int_bit_width.html b/doc/flux_refineck/checker/fn.int_bit_width.html index 6f18224a88..4d53f4b040 100644 --- a/doc/flux_refineck/checker/fn.int_bit_width.html +++ b/doc/flux_refineck/checker/fn.int_bit_width.html @@ -1 +1 @@ -int_bit_width in flux_refineck::checker - Rust
    fn int_bit_width(int_ty: IntTy) -> u64
    \ No newline at end of file +int_bit_width in flux_refineck::checker - Rust
    fn int_bit_width(int_ty: IntTy) -> u64
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.int_int_cast.html b/doc/flux_refineck/checker/fn.int_int_cast.html index 492dc07350..3c2de6a64a 100644 --- a/doc/flux_refineck/checker/fn.int_int_cast.html +++ b/doc/flux_refineck/checker/fn.int_int_cast.html @@ -1 +1 @@ -int_int_cast in flux_refineck::checker - Rust
    fn int_int_cast(idx: &Expr, int_ty1: IntTy, int_ty2: IntTy) -> Ty
    \ No newline at end of file +int_int_cast in flux_refineck::checker - Rust
    fn int_int_cast(idx: &Expr, int_ty1: IntTy, int_ty2: IntTy) -> Ty
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.snapshot_at_dominator.html b/doc/flux_refineck/checker/fn.snapshot_at_dominator.html index d95f4ac381..f950eeabe7 100644 --- a/doc/flux_refineck/checker/fn.snapshot_at_dominator.html +++ b/doc/flux_refineck/checker/fn.snapshot_at_dominator.html @@ -1,4 +1,4 @@ -snapshot_at_dominator in flux_refineck::checker - Rust
    fn snapshot_at_dominator<'a>(
    +snapshot_at_dominator in flux_refineck::checker - Rust
    fn snapshot_at_dominator<'a>(
         body: &Body<'_>,
         snapshots: &'a IndexVec<BasicBlock, Option<Snapshot>>,
         bb: BasicBlock
    diff --git a/doc/flux_refineck/checker/fn.uint_bit_width.html b/doc/flux_refineck/checker/fn.uint_bit_width.html
    index dddba500e1..49365e5fb3 100644
    --- a/doc/flux_refineck/checker/fn.uint_bit_width.html
    +++ b/doc/flux_refineck/checker/fn.uint_bit_width.html
    @@ -1 +1 @@
    -uint_bit_width in flux_refineck::checker - Rust
    fn uint_bit_width(uint_ty: UintTy) -> u64
    \ No newline at end of file +uint_bit_width in flux_refineck::checker - Rust
    fn uint_bit_width(uint_ty: UintTy) -> u64
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.uint_int_cast.html b/doc/flux_refineck/checker/fn.uint_int_cast.html index c7a2bc0e6b..fa212de7b7 100644 --- a/doc/flux_refineck/checker/fn.uint_int_cast.html +++ b/doc/flux_refineck/checker/fn.uint_int_cast.html @@ -1 +1 @@ -uint_int_cast in flux_refineck::checker - Rust
    fn uint_int_cast(idx: &Expr, uint_ty: UintTy, int_ty: IntTy) -> Ty
    \ No newline at end of file +uint_int_cast in flux_refineck::checker - Rust
    fn uint_int_cast(idx: &Expr, uint_ty: UintTy, int_ty: IntTy) -> Ty
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/fn.uint_uint_cast.html b/doc/flux_refineck/checker/fn.uint_uint_cast.html index 85b58dedae..515b8f2dbd 100644 --- a/doc/flux_refineck/checker/fn.uint_uint_cast.html +++ b/doc/flux_refineck/checker/fn.uint_uint_cast.html @@ -1 +1 @@ -uint_uint_cast in flux_refineck::checker - Rust
    fn uint_uint_cast(idx: &Expr, uint_ty1: UintTy, uint_ty2: UintTy) -> Ty
    \ No newline at end of file +uint_uint_cast in flux_refineck::checker - Rust
    fn uint_uint_cast(idx: &Expr, uint_ty1: UintTy, uint_ty2: UintTy) -> Ty
    \ No newline at end of file diff --git a/doc/flux_refineck/checker/index.html b/doc/flux_refineck/checker/index.html index d43606fe1d..63293ef9b8 100644 --- a/doc/flux_refineck/checker/index.html +++ b/doc/flux_refineck/checker/index.html @@ -1 +1 @@ -flux_refineck::checker - Rust

    Module flux_refineck::checker

    source ·

    Modules

    Structs

    Enums

    • Guard 🔒
      A Guard describes extra “control” information that holds at the start of a successor basic block

    Traits

    Functions

    \ No newline at end of file +flux_refineck::checker - Rust

    Module flux_refineck::checker

    source ·

    Modules

    Structs

    Enums

    • Guard 🔒
      A Guard describes extra “control” information that holds at the start of a successor basic block

    Traits

    Functions

    \ No newline at end of file diff --git a/doc/flux_refineck/checker/struct.Checker.html b/doc/flux_refineck/checker/struct.Checker.html index 0fc5da1b0e..7a64d1fd82 100644 --- a/doc/flux_refineck/checker/struct.Checker.html +++ b/doc/flux_refineck/checker/struct.Checker.html @@ -29,7 +29,7 @@ ghost_stmts: &'a UnordMap<LocalDefId, GhostStatements>, bb_env_shapes: ShapeResult, config: CheckerConfig -) -> Result<(RefineTree, KVarStore), CheckerError>

    source§

    impl<'a, 'tcx, M: Mode> Checker<'a, 'tcx, M>

    source§

    impl<'a, 'tcx, M: Mode> Checker<'a, 'tcx, M>

    source

    fn run( genv: &'a GlobalEnv<'a, 'tcx>, refine_tree: RefineSubtree<'a>, def_id: LocalDefId, @@ -91,12 +91,12 @@ rcx: &mut RefineCtxt<'_>, snapshot: &Snapshot, fn_trait_pred: FnTraitPredicate -) -> Result<(), CheckerError>

    source

    fn check_closure_obligs( +) -> Result<(), CheckerError>

    source

    fn check_closure_obligs( &mut self, rcx: &mut RefineCtxt<'_>, obligs: Obligations ) -> Result<(), CheckerError>

    This checks obligations related to closures & generators; the remainder are directly checked in check_fn_call

    -
    source

    fn check_assert( +

    source

    fn check_assert( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, @@ -104,42 +104,42 @@ cond: &Operand, expected: bool, msg: &AssertKind -) -> Result<Guard, CheckerError>

    source

    fn check_if(discr_ty: &Ty, targets: &SwitchTargets) -> Vec<(BasicBlock, Guard)>

    source

    fn check_match( +) -> Result<Guard, CheckerError>

    source

    fn check_if(discr_ty: &Ty, targets: &SwitchTargets) -> Vec<(BasicBlock, Guard)>

    source

    fn check_match( discr_ty: &Ty, targets: &SwitchTargets -) -> Vec<(BasicBlock, Guard)>

    source

    fn check_successors( +) -> Vec<(BasicBlock, Guard)>

    source

    fn check_successors( &mut self, rcx: RefineCtxt<'_>, env: TypeEnv<'_>, from: BasicBlock, terminator_span: Span, successors: Vec<(BasicBlock, Guard)> -) -> Result<(), CheckerError>

    source

    fn check_goto( +) -> Result<(), CheckerError>

    source

    fn check_goto( &mut self, rcx: RefineCtxt<'_>, env: TypeEnv<'_>, from: BasicBlock, span: Span, target: BasicBlock -) -> Result<(), CheckerError>

    source

    fn check_rvalue( +) -> Result<(), CheckerError>

    source

    fn check_rvalue( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, stmt_span: Span, rvalue: &Rvalue -) -> Result<Ty, CheckerError>

    source

    fn check_aggregate_operands( +) -> Result<Ty, CheckerError>

    source

    fn check_aggregate_operands( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, stmt_span: Span, args: &[Operand] -) -> Result<Result<Vec<Interned<TyS>>, CheckerError>, CheckerError>

    source

    fn check_len( +) -> Result<Result<Vec<Interned<TyS>>, CheckerError>, CheckerError>

    source

    fn check_len( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, source_span: Span, place: &Place -) -> Result<Ty, CheckerError>

    source

    fn check_binary_op( +) -> Result<Ty, CheckerError>

    source

    fn check_binary_op( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, @@ -147,47 +147,47 @@ bin_op: BinOp, op1: &Operand, op2: &Operand -) -> Result<Ty, CheckerError>

    source

    fn check_unary_op( +) -> Result<Ty, CheckerError>

    source

    fn check_unary_op( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, source_span: Span, un_op: UnOp, op: &Operand -) -> Result<Ty, CheckerError>

    source

    fn check_cast( +) -> Result<Ty, CheckerError>

    source

    fn check_cast( &self, kind: CastKind, from: &Ty, to: &Ty -) -> Result<Ty, CheckerError>

    source

    fn check_operands( +) -> Result<Ty, CheckerError>

    source

    fn check_operands( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, source_span: Span, operands: &[Operand] -) -> Result<Vec<Ty>, CheckerError>

    source

    fn check_operand( +) -> Result<Vec<Ty>, CheckerError>

    source

    fn check_operand( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, source_span: Span, operand: &Operand -) -> Result<Ty, CheckerError>

    source

    fn check_constant(&mut self, c: &Constant) -> Result<Ty, CheckerError>

    source

    fn check_ghost_statements_at( +) -> Result<Ty, CheckerError>

    source

    fn check_constant(&mut self, c: &Constant) -> Result<Ty, CheckerError>

    source

    fn check_ghost_statements_at( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, point: Point, span: Span -) -> Result<(), CheckerError>

    source

    fn check_ghost_statement( +) -> Result<(), CheckerError>

    source

    fn check_ghost_statement( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, stmt: &GhostStatement, span: Span -) -> Result<(), CheckerError>

    source

    fn constr_gen( +) -> Result<(), CheckerError>

    source

    fn constr_gen( &mut self, rcx: &RefineCtxt<'_>, span: Span -) -> ConstrGen<'_, 'tcx>

    source

    fn snapshot_at_dominator(&self, bb: BasicBlock) -> &Snapshot

    source

    fn dominators(&self) -> &'a Dominators<BasicBlock>

    source

    fn ghost_stmts(&self) -> &'a GhostStatements

    Auto Trait Implementations§

    §

    impl<'ck, 'tcx, M> !RefUnwindSafe for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> !Send for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> !Sync for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> Unpin for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> !UnwindSafe for Checker<'ck, 'tcx, M>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> ConstrGen<'_, 'tcx>

    source

    fn snapshot_at_dominator(&self, bb: BasicBlock) -> &Snapshot

    source

    fn dominators(&self) -> &'a Dominators<BasicBlock>

    source

    fn ghost_stmts(&self) -> &'a GhostStatements

    Auto Trait Implementations§

    §

    impl<'ck, 'tcx, M> !RefUnwindSafe for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> !Send for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> !Sync for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> Unpin for Checker<'ck, 'tcx, M>

    §

    impl<'ck, 'tcx, M> !UnwindSafe for Checker<'ck, 'tcx, M>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_refineck/checker/struct.RefineMode.html b/doc/flux_refineck/checker/struct.RefineMode.html index 4e5c54d685..36e38c1eea 100644 --- a/doc/flux_refineck/checker/struct.RefineMode.html +++ b/doc/flux_refineck/checker/struct.RefineMode.html @@ -1,7 +1,7 @@ RefineMode in flux_refineck::checker - Rust
    pub(crate) struct RefineMode {
         bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>,
         kvars: KVarStore,
    -}

    Fields§

    §bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>§kvars: KVarStore

    Trait Implementations§

    source§

    impl Mode for RefineMode

    source§

    fn constr_gen<'a, 'tcx>( +}

    Fields§

    §bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>§kvars: KVarStore

    Trait Implementations§

    source§

    impl Mode for RefineMode

    source§

    fn constr_gen<'a, 'tcx>( &'a mut self, genv: &'a GlobalEnv<'a, 'tcx>, infcx: &'a InferCtxt<'tcx>, @@ -9,17 +9,17 @@ refparams: &'a [Expr], rcx: &RefineCtxt<'_>, span: Span -) -> ConstrGen<'a, 'tcx>

    source§

    fn enter_basic_block<'a>( +) -> ConstrGen<'a, 'tcx>

    source§

    fn enter_basic_block<'a>( ck: &mut Checker<'a, '_, RefineMode>, rcx: &mut RefineCtxt<'_>, bb: BasicBlock -) -> TypeEnv<'a>

    source§

    fn check_goto_join_point( +) -> TypeEnv<'a>

    source§

    fn check_goto_join_point( ck: &mut Checker<'_, '_, RefineMode>, rcx: RefineCtxt<'_>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock -) -> Result<bool, CheckerError>

    source§

    fn clear(_ck: &mut Checker<'_, '_, RefineMode>, _bb: BasicBlock)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> Result<bool, CheckerError>

    source§

    fn clear(_ck: &mut Checker<'_, '_, RefineMode>, _bb: BasicBlock)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_refineck/checker/struct.ShapeMode.html b/doc/flux_refineck/checker/struct.ShapeMode.html index ba12087a2b..e1a6c823fd 100644 --- a/doc/flux_refineck/checker/struct.ShapeMode.html +++ b/doc/flux_refineck/checker/struct.ShapeMode.html @@ -1,6 +1,6 @@ ShapeMode in flux_refineck::checker - Rust
    pub(crate) struct ShapeMode {
         bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>,
    -}

    Fields§

    §bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>

    Trait Implementations§

    source§

    impl Mode for ShapeMode

    source§

    fn constr_gen<'a, 'tcx>( +}

    Fields§

    §bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>

    Trait Implementations§

    source§

    impl Mode for ShapeMode

    source§

    fn constr_gen<'a, 'tcx>( &'a mut self, genv: &'a GlobalEnv<'a, 'tcx>, infcx: &'a InferCtxt<'tcx>, @@ -8,17 +8,17 @@ refparams: &'a [Expr], _rcx: &RefineCtxt<'_>, span: Span -) -> ConstrGen<'a, 'tcx>

    source§

    fn enter_basic_block<'a>( +) -> ConstrGen<'a, 'tcx>

    source§

    fn enter_basic_block<'a>( ck: &mut Checker<'a, '_, ShapeMode>, _rcx: &mut RefineCtxt<'_>, bb: BasicBlock -) -> TypeEnv<'a>

    source§

    fn check_goto_join_point( +) -> TypeEnv<'a>

    source§

    fn check_goto_join_point( ck: &mut Checker<'_, '_, ShapeMode>, _: RefineCtxt<'_>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock -) -> Result<bool, CheckerError>

    source§

    fn clear(ck: &mut Checker<'_, '_, ShapeMode>, root: BasicBlock)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +) -> Result<bool, CheckerError>

    source§

    fn clear(ck: &mut Checker<'_, '_, ShapeMode>, root: BasicBlock)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_refineck/checker/struct.ShapeResult.html b/doc/flux_refineck/checker/struct.ShapeResult.html index 0b017cd248..9562405d28 100644 --- a/doc/flux_refineck/checker/struct.ShapeResult.html +++ b/doc/flux_refineck/checker/struct.ShapeResult.html @@ -1,5 +1,5 @@ ShapeResult in flux_refineck::checker - Rust
    pub(crate) struct ShapeResult(FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>);
    Expand description

    The result of running the shape phase.

    -

    Tuple Fields§

    §0: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>

    Implementations§

    source§

    impl ShapeResult

    Tuple Fields§

    §0: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>

    Implementations§

    source§

    impl ShapeResult

    source

    fn into_bb_envs( self, kvar_store: &mut KVarStore ) -> FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/doc/flux_refineck/checker/trait.Mode.html b/doc/flux_refineck/checker/trait.Mode.html index 4c9effde0a..32ea0d4c94 100644 --- a/doc/flux_refineck/checker/trait.Mode.html +++ b/doc/flux_refineck/checker/trait.Mode.html @@ -40,4 +40,4 @@ env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock -) -> Result<bool, CheckerError>

    source

    fn clear(ck: &mut Checker<'_, '_, Self>, bb: BasicBlock)

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +) -> Result<bool, CheckerError>
    source

    fn clear(ck: &mut Checker<'_, '_, Self>, bb: BasicBlock)

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/doc/flux_refineck/constraint_gen/fn.mk_generator_obligations.html b/doc/flux_refineck/constraint_gen/fn.mk_generator_obligations.html index 76b9c210fb..48ebf8691c 100644 --- a/doc/flux_refineck/constraint_gen/fn.mk_generator_obligations.html +++ b/doc/flux_refineck/constraint_gen/fn.mk_generator_obligations.html @@ -1,4 +1,4 @@ -mk_generator_obligations in flux_refineck::constraint_gen - Rust
    fn mk_generator_obligations(
    +mk_generator_obligations in flux_refineck::constraint_gen - Rust
    fn mk_generator_obligations(
         genv: &GlobalEnv<'_, '_>,
         generator_did: &DefId,
         generator_args: &GenericArgs,
    diff --git a/doc/flux_refineck/constraint_gen/fn.mk_obligations.html b/doc/flux_refineck/constraint_gen/fn.mk_obligations.html
    index f48db38248..f704ddb966 100644
    --- a/doc/flux_refineck/constraint_gen/fn.mk_obligations.html
    +++ b/doc/flux_refineck/constraint_gen/fn.mk_obligations.html
    @@ -1,4 +1,4 @@
    -mk_obligations in flux_refineck::constraint_gen - Rust
    fn mk_obligations(
    +mk_obligations in flux_refineck::constraint_gen - Rust
    fn mk_obligations(
         genv: &GlobalEnv<'_, '_>,
         did: DefId,
         args: &[GenericArg],
    diff --git a/doc/flux_refineck/constraint_gen/index.html b/doc/flux_refineck/constraint_gen/index.html
    index df93981f83..7668dfc63d 100644
    --- a/doc/flux_refineck/constraint_gen/index.html
    +++ b/doc/flux_refineck/constraint_gen/index.html
    @@ -1 +1 @@
    -flux_refineck::constraint_gen - Rust
    \ No newline at end of file +flux_refineck::constraint_gen - Rust
    \ No newline at end of file diff --git a/doc/flux_refineck/constraint_gen/pretty/index.html b/doc/flux_refineck/constraint_gen/pretty/index.html index 5a2c0edfe2..e1009dda4e 100644 --- a/doc/flux_refineck/constraint_gen/pretty/index.html +++ b/doc/flux_refineck/constraint_gen/pretty/index.html @@ -1 +1 @@ -flux_refineck::constraint_gen::pretty - Rust
    \ No newline at end of file +flux_refineck::constraint_gen::pretty - Rust
    \ No newline at end of file diff --git a/doc/flux_refineck/constraint_gen/struct.ConstrGen.html b/doc/flux_refineck/constraint_gen/struct.ConstrGen.html index ab5feae5bf..4143d90fa1 100644 --- a/doc/flux_refineck/constraint_gen/struct.ConstrGen.html +++ b/doc/flux_refineck/constraint_gen/struct.ConstrGen.html @@ -5,7 +5,7 @@ refparams: &'a [Expr], kvar_gen: Box<dyn KVarGen + 'a>, span: Span, -}

    Fields§

    §genv: &'a GlobalEnv<'a, 'tcx>§region_infcx: &'a InferCtxt<'tcx>§def_id: DefId§refparams: &'a [Expr]§kvar_gen: Box<dyn KVarGen + 'a>§span: Span

    Implementations§

    source§

    impl<'a, 'tcx> ConstrGen<'a, 'tcx>

    source

    pub fn new<G>( +}

    Fields§

    §genv: &'a GlobalEnv<'a, 'tcx>§region_infcx: &'a InferCtxt<'tcx>§def_id: DefId§refparams: &'a [Expr]§kvar_gen: Box<dyn KVarGen + 'a>§span: Span

    Implementations§

    source§

    impl<'a, 'tcx> ConstrGen<'a, 'tcx>

    source

    pub fn new<G>( genv: &'a GlobalEnv<'a, 'tcx>, region_infcx: &'a InferCtxt<'tcx>, def_id: DefId, @@ -32,7 +32,7 @@ &self, did: DefId, generic_args: &[GenericArg] -) -> Result<(), CheckerErrKind>

    source

    pub(crate) fn check_fn_call( +) -> Result<(), CheckerErrKind>

    source

    pub(crate) fn check_fn_call( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, @@ -40,24 +40,24 @@ fn_sig: EarlyBinder<PolyFnSig>, generic_args: &[GenericArg], actuals: &[Ty] -) -> Result<(Binder<FnOutput>, Obligations), CheckerErrKind>

    source

    pub(crate) fn check_ret( +) -> Result<(Binder<FnOutput>, Obligations), CheckerErrKind>

    source

    pub(crate) fn check_ret( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, output: &Binder<FnOutput> -) -> Result<Obligations, CheckerErrKind>

    source

    pub(crate) fn check_constructor( +) -> Result<Obligations, CheckerErrKind>

    source

    pub(crate) fn check_constructor( &mut self, rcx: &mut RefineCtxt<'_>, variant: EarlyBinder<PolyVariant>, generic_args: &[GenericArg], fields: &[Ty] -) -> Result<Ty, CheckerErrKind>

    source

    pub(crate) fn check_mk_array( +) -> Result<Ty, CheckerErrKind>

    source

    pub(crate) fn check_mk_array( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, args: &[Ty], arr_ty: Ty -) -> Result<Ty, CheckerErrKind>

    source

    pub(crate) fn infcx( +) -> Result<Ty, CheckerErrKind>

    source

    pub(crate) fn infcx( &mut self, rcx: &RefineCtxt<'_>, reason: ConstrReason diff --git a/doc/flux_refineck/constraint_gen/struct.InferCtxt.html b/doc/flux_refineck/constraint_gen/struct.InferCtxt.html index 46dbec2857..da5053c7e5 100644 --- a/doc/flux_refineck/constraint_gen/struct.InferCtxt.html +++ b/doc/flux_refineck/constraint_gen/struct.InferCtxt.html @@ -8,7 +8,7 @@ tag: Tag, scopes: FxIndexMap<EVarCxId, Scope>, obligs: Vec<Clause>, -}

    Fields§

    §genv: &'a GlobalEnv<'a, 'tcx>§region_infcx: &'a InferCtxt<'tcx>§def_id: DefId§refparams: &'a [Expr]§kvar_gen: &'a mut (dyn KVarGen + 'a)§evar_gen: EVarGen§tag: Tag§scopes: FxIndexMap<EVarCxId, Scope>§obligs: Vec<Clause>

    Implementations§

    source§

    impl<'a, 'tcx> InferCtxt<'a, 'tcx>

    source

    fn new( +}

    Fields§

    §genv: &'a GlobalEnv<'a, 'tcx>§region_infcx: &'a InferCtxt<'tcx>§def_id: DefId§refparams: &'a [Expr]§kvar_gen: &'a mut (dyn KVarGen + 'a)§evar_gen: EVarGen§tag: Tag§scopes: FxIndexMap<EVarCxId, Scope>§obligs: Vec<Clause>

    Implementations§

    source§

    impl<'a, 'tcx> InferCtxt<'a, 'tcx>

    source

    fn new( genv: &'a GlobalEnv<'a, 'tcx>, region_infcx: &'a InferCtxt<'tcx>, def_id: DefId, @@ -16,66 +16,66 @@ rcx: &RefineCtxt<'_>, kvar_gen: &'a mut (dyn KVarGen + 'a), tag: Tag -) -> Self

    source

    fn obligations(&self) -> Vec<Clause>

    source

    fn insert_obligations(&mut self, obligs: Vec<Clause>)

    source

    fn push_scope(&mut self, rcx: &RefineCtxt<'_>)

    source

    fn pop_scope(&mut self)

    source

    fn instantiate_refine_args( +) -> Self

    source

    fn obligations(&self) -> Vec<Clause>

    source

    fn insert_obligations(&mut self, obligs: Vec<Clause>)

    source

    fn push_scope(&mut self, rcx: &RefineCtxt<'_>)

    source

    fn pop_scope(&mut self)

    source

    fn instantiate_refine_args( &mut self, genv: &GlobalEnv<'_, '_>, callee_def_id: Option<DefId> -) -> Result<Vec<Expr>, CheckerErrKind>

    source

    fn instantiate_generic_args(&mut self, args: &[GenericArg]) -> Vec<GenericArg>

    source

    pub(crate) fn fresh_infer_var(&mut self, sort: &Sort, mode: InferMode) -> Expr

    source

    fn fresh_infer_var_for_hole( +) -> Result<Vec<Expr>, CheckerErrKind>

    source

    fn instantiate_generic_args(&mut self, args: &[GenericArg]) -> Vec<GenericArg>

    source

    pub(crate) fn fresh_infer_var(&mut self, sort: &Sort, mode: InferMode) -> Expr

    source

    fn fresh_infer_var_for_hole( &mut self, binders: &[List<Sort>], kind: HoleKind -) -> Expr

    source

    pub(crate) fn fresh_kvar( +) -> Expr

    source

    pub(crate) fn fresh_kvar( &mut self, sorts: &[List<Sort>], encoding: KVarEncoding -) -> Expr

    source

    fn fresh_evars(&mut self, sort: &Sort) -> Expr

    source

    pub(crate) fn check_pred(&self, rcx: &mut RefineCtxt<'_>, pred: impl Into<Expr>)

    source

    fn check_type_constr( +) -> Expr

    source

    fn fresh_evars(&mut self, sort: &Sort) -> Expr

    source

    pub(crate) fn check_pred(&self, rcx: &mut RefineCtxt<'_>, pred: impl Into<Expr>)

    source

    fn check_type_constr( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, path: &Path, ty: &Ty -) -> Result<(), CheckerErrKind>

    source

    fn check_constraint( +) -> Result<(), CheckerErrKind>

    source

    fn check_constraint( &mut self, rcx: &mut RefineCtxt<'_>, env: &mut TypeEnv<'_>, constraint: &Constraint -) -> Result<(), CheckerErrKind>

    source

    pub(crate) fn subtyping( +) -> Result<(), CheckerErrKind>

    source

    pub(crate) fn subtyping( &mut self, rcx: &mut RefineCtxt<'_>, ty1: &Ty, ty2: &Ty -) -> Result<(), CheckerErrKind>

    source

    fn bty_subtyping( +) -> Result<(), CheckerErrKind>

    source

    fn bty_subtyping( &mut self, rcx: &mut RefineCtxt<'_>, bty1: &BaseTy, bty2: &BaseTy -) -> Result<(), CheckerErrKind>

    source

    fn project_bty( +) -> Result<(), CheckerErrKind>

    source

    fn project_bty( &mut self, self_ty: &Ty, def_id: DefId -) -> Result<Ty, CheckerErrKind>

    source

    fn opaque_subtyping( +) -> Result<Ty, CheckerErrKind>

    source

    fn opaque_subtyping( &mut self, rcx: &mut RefineCtxt<'_>, ty: &Ty, alias_ty: &AliasTy -) -> Result<(), CheckerErrKind>

    source

    fn generic_arg_subtyping( +) -> Result<(), CheckerErrKind>

    source

    fn generic_arg_subtyping( &mut self, rcx: &mut RefineCtxt<'_>, variance: Variance, arg1: &GenericArg, arg2: &GenericArg -) -> Result<(), CheckerErrKind>

    source

    fn idx_subtyping( +) -> Result<(), CheckerErrKind>

    source

    fn idx_subtyping( &mut self, rcx: &mut RefineCtxt<'_>, e1: &Expr, e2: &Expr, is_binder: &TupleTree<bool> -)

    source

    fn pred_subtyping( +)

    source

    fn pred_subtyping( &mut self, rcx: &mut RefineCtxt<'_>, p1: &Binder<Expr>, p2: &Binder<Expr> -)

    source

    fn unify_exprs(&mut self, e1: &Expr, e2: &Expr, replace: bool)

    source

    pub(crate) fn solve(self) -> Result<EVarSol, UnsolvedEvar>

    Auto Trait Implementations§

    §

    impl<'a, 'tcx> !RefUnwindSafe for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> !Send for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> !Sync for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> Unpin for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> !UnwindSafe for InferCtxt<'a, 'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +)

    source

    fn unify_exprs(&mut self, e1: &Expr, e2: &Expr, replace: bool)

    source

    pub(crate) fn solve(self) -> Result<EVarSol, UnsolvedEvar>

    Auto Trait Implementations§

    §

    impl<'a, 'tcx> !RefUnwindSafe for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> !Send for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> !Sync for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> Unpin for InferCtxt<'a, 'tcx>

    §

    impl<'a, 'tcx> !UnwindSafe for InferCtxt<'a, 'tcx>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_refineck/constraint_gen/struct.Obligations.html b/doc/flux_refineck/constraint_gen/struct.Obligations.html index fbee625597..5ad8b4ab2f 100644 --- a/doc/flux_refineck/constraint_gen/struct.Obligations.html +++ b/doc/flux_refineck/constraint_gen/struct.Obligations.html @@ -2,7 +2,7 @@ pub(crate) predicates: List<Clause>, pub(crate) snapshot: Snapshot, }

    Fields§

    §predicates: List<Clause>§snapshot: Snapshot

    Snapshot of the refinement subtree where the obligations should be checked

    -

    Implementations§

    source§

    impl Obligations

    source

    fn new(predicates: List<Clause>, snapshot: Snapshot) -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Implementations§

    source§

    impl Obligations

    source

    fn new(predicates: List<Clause>, snapshot: Snapshot) -> Self

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_refineck/constraint_gen/struct.Tag.html b/doc/flux_refineck/constraint_gen/struct.Tag.html index 8d8e0ac6bd..9212c318af 100644 --- a/doc/flux_refineck/constraint_gen/struct.Tag.html +++ b/doc/flux_refineck/constraint_gen/struct.Tag.html @@ -2,11 +2,11 @@ pub reason: ConstrReason, pub src_span: Span, pub dst_span: Option<ESpan>, -}

    Fields§

    §reason: ConstrReason§src_span: Span§dst_span: Option<ESpan>

    Implementations§

    source§

    impl Tag

    source

    pub fn new(reason: ConstrReason, span: Span) -> Self

    source

    pub fn with_dst(self, dst_span: Option<ESpan>) -> Self

    Trait Implementations§

    source§

    impl Clone for Tag

    source§

    fn clone(&self) -> Tag

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Tag

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Tag

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Fields§

    §reason: ConstrReason§src_span: Span§dst_span: Option<ESpan>

    Implementations§

    source§

    impl Tag

    source

    pub fn new(reason: ConstrReason, span: Span) -> Self

    source

    pub fn with_dst(self, dst_span: Option<ESpan>) -> Self

    Trait Implementations§

    source§

    impl Clone for Tag

    source§

    fn clone(&self) -> Tag

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Tag

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Tag

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Tag

    source§

    fn eq(&self, other: &Tag) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Pretty for Tag

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    §

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for Tag

    source§

    impl Eq for Tag

    source§

    impl StructuralEq for Tag

    source§

    impl StructuralPartialEq for Tag

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Tag

    §

    impl Send for Tag

    §

    impl Sync for Tag

    §

    impl Unpin for Tag

    §

    impl UnwindSafe for Tag

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Pretty for Tag

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    §

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    source§

    impl Copy for Tag

    source§

    impl Eq for Tag

    source§

    impl StructuralEq for Tag

    source§

    impl StructuralPartialEq for Tag

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Tag

    §

    impl Send for Tag

    §

    impl Sync for Tag

    §

    impl Unpin for Tag

    §

    impl UnwindSafe for Tag

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_refineck/constraint_gen/trait.KVarGen.html b/doc/flux_refineck/constraint_gen/trait.KVarGen.html index fcd8601c1d..a68f97151c 100644 --- a/doc/flux_refineck/constraint_gen/trait.KVarGen.html +++ b/doc/flux_refineck/constraint_gen/trait.KVarGen.html @@ -1,5 +1,5 @@ KVarGen in flux_refineck::constraint_gen - Rust
    pub trait KVarGen {
         // Required method
         fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr;
    -}

    Required Methods§

    source

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    Trait Implementations§

    source§

    impl<'a> KVarGen for &mut (dyn KVarGen + 'a)

    source§

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    source§

    impl<'a> KVarGen for Box<dyn KVarGen + 'a>

    source§

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    Implementations on Foreign Types§

    source§

    impl<'a> KVarGen for Box<dyn KVarGen + 'a>

    source§

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    Implementors§

    source§

    impl<'a> KVarGen for &mut (dyn KVarGen + 'a)

    source§

    impl<F> KVarGen for Fwhere +}

    Required Methods§

    source

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    Trait Implementations§

    source§

    impl<'a> KVarGen for &mut (dyn KVarGen + 'a)

    source§

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    source§

    impl<'a> KVarGen for Box<dyn KVarGen + 'a>

    source§

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    Implementations on Foreign Types§

    source§

    impl<'a> KVarGen for Box<dyn KVarGen + 'a>

    source§

    fn fresh(&mut self, binders: &[List<Sort>], kind: KVarEncoding) -> Expr

    Implementors§

    source§

    impl<'a> KVarGen for &mut (dyn KVarGen + 'a)

    source§

    impl<F> KVarGen for Fwhere F: FnMut(&[List<Sort>], KVarEncoding) -> Expr,

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/enum.Key.html b/doc/flux_refineck/fixpoint_encoding/enum.Key.html index 666fb4bb90..3baa2d96c6 100644 --- a/doc/flux_refineck/fixpoint_encoding/enum.Key.html +++ b/doc/flux_refineck/fixpoint_encoding/enum.Key.html @@ -1,11 +1,11 @@ -Key in flux_refineck::fixpoint_encoding - Rust
    enum Key {
    +Key in flux_refineck::fixpoint_encoding - Rust
    enum Key {
         Uif(Symbol),
         Const(DefId),
    -}

    Variants§

    §

    Uif(Symbol)

    §

    Const(DefId)

    Trait Implementations§

    source§

    impl Hash for Key

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where +}

    Variants§

    §

    Uif(Symbol)

    §

    Const(DefId)

    Trait Implementations§

    source§

    impl Hash for Key

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Key

    source§

    fn eq(&self, other: &Key) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for Key

    source§

    fn eq(&self, other: &Key) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Key

    source§

    impl StructuralEq for Key

    source§

    impl StructuralPartialEq for Key

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Key

    §

    impl Send for Key

    §

    impl Sync for Key

    §

    impl Unpin for Key

    §

    impl UnwindSafe for Key

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Key

    source§

    impl StructuralEq for Key

    source§

    impl StructuralPartialEq for Key

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Key

    §

    impl Send for Key

    §

    impl Sync for Key

    §

    impl Unpin for Key

    §

    impl UnwindSafe for Key

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/enum.Var.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/enum.Var.html new file mode 100644 index 0000000000..7862483203 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/enum.Var.html @@ -0,0 +1,24 @@ +Var in flux_refineck::fixpoint_encoding::fixpoint - Rust
    pub enum Var {
    +    Global(GlobalVar),
    +    Local(LocalVar),
    +}

    Variants§

    §

    Global(GlobalVar)

    §

    Local(LocalVar)

    Trait Implementations§

    source§

    impl Clone for Var

    source§

    fn clone(&self) -> Var

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Var

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for Var

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<GlobalVar> for Var

    source§

    fn from(v: GlobalVar) -> Self

    Converts to this type from the input type.
    source§

    impl From<LocalVar> for Var

    source§

    fn from(v: LocalVar) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Var

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Copy for Var

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Var

    §

    impl Send for Var

    §

    impl Sync for Var

    §

    impl Unpin for Var

    §

    impl UnwindSafe for Var

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Proj.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Proj.html new file mode 100644 index 0000000000..cddfc98c16 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Proj.html @@ -0,0 +1,23 @@ +Proj in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub enum Proj {
    +    Fst,
    +    Snd,
    +}

    Variants§

    §

    Fst

    §

    Snd

    Trait Implementations§

    §

    impl Clone for Proj

    §

    fn clone(&self) -> Proj

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Hash for Proj

    §

    fn hash<__H>(&self, state: &mut __H)where + __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    §

    impl Copy for Proj

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Proj

    §

    impl Send for Proj

    §

    impl Sync for Proj

    §

    impl Unpin for Proj

    §

    impl UnwindSafe for Proj

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Sort.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Sort.html new file mode 100644 index 0000000000..a7c01e71e2 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.Sort.html @@ -0,0 +1,31 @@ +Sort in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub enum Sort {
    +    Int,
    +    Bool,
    +    Real,
    +    Unit,
    +    BitVec(usize),
    +    Pair(Box<Sort>, Box<Sort>),
    +    Func(PolyFuncSort),
    +    App(SortCtor, Vec<Sort>),
    +}

    Variants§

    §

    Int

    §

    Bool

    §

    Real

    §

    Unit

    §

    BitVec(usize)

    §

    Pair(Box<Sort>, Box<Sort>)

    §

    Func(PolyFuncSort)

    §

    App(SortCtor, Vec<Sort>)

    Trait Implementations§

    §

    impl Clone for Sort

    §

    fn clone(&self) -> Sort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Display for Sort

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for Sort

    §

    fn hash<__H>(&self, state: &mut __H)where + __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Sort

    §

    impl Send for Sort

    §

    impl Sync for Sort

    §

    impl Unpin for Sort

    §

    impl UnwindSafe for Sort

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.SortCtor.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.SortCtor.html new file mode 100644 index 0000000000..e65e744ccc --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/enum.SortCtor.html @@ -0,0 +1,25 @@ +SortCtor in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub enum SortCtor {
    +    Set,
    +    Map,
    +}

    Variants§

    §

    Set

    §

    Map

    Trait Implementations§

    §

    impl Clone for SortCtor

    §

    fn clone(&self) -> SortCtor

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Display for SortCtor

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for SortCtor

    §

    fn hash<__H>(&self, state: &mut __H)where + __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/index.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/index.html new file mode 100644 index 0000000000..e3ffd55e67 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/index.html @@ -0,0 +1 @@ +flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/sidebar-items.js b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/sidebar-items.js new file mode 100644 index 0000000000..d10dcb10e8 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["Proj","Sort","SortCtor"],"struct":["FixpointTypes","PolyFuncSort"],"type":["ConstInfo","Constraint","Expr","Func","KVar","Pred","Qualifier","Task"]}; \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.FixpointTypes.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.FixpointTypes.html new file mode 100644 index 0000000000..3ccbffd5d5 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.FixpointTypes.html @@ -0,0 +1,16 @@ +FixpointTypes in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub struct FixpointTypes;

    Trait Implementations§

    source§

    impl Types for FixpointTypes

    §

    type KVar = KVid

    §

    type Var = Var

    §

    type Tag = TagIdx

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.PolyFuncSort.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.PolyFuncSort.html new file mode 100644 index 0000000000..90c5b78d65 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/struct.PolyFuncSort.html @@ -0,0 +1,29 @@ +PolyFuncSort in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub struct PolyFuncSort {
    +    params: usize,
    +    fsort: FuncSort,
    +}

    Fields§

    §params: usize§fsort: FuncSort

    Implementations§

    §

    impl PolyFuncSort

    pub fn new( + params: usize, + inputs: impl IntoIterator<Item = Sort>, + output: Sort +) -> PolyFuncSort

    Trait Implementations§

    §

    impl Clone for PolyFuncSort

    §

    fn clone(&self) -> PolyFuncSort

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Display for PolyFuncSort

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Hash for PolyFuncSort

    §

    fn hash<__H>(&self, state: &mut __H)where + __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.ConstInfo.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.ConstInfo.html new file mode 100644 index 0000000000..407f963b85 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.ConstInfo.html @@ -0,0 +1,5 @@ +ConstInfo in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type ConstInfo = ConstInfo<FixpointTypes>;

    Aliased Type§

    struct ConstInfo {
    +    pub name: Var,
    +    pub orig: Symbol,
    +    pub sort: Sort,
    +}

    Fields§

    §name: Var§orig: Symbol§sort: Sort
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Constraint.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Constraint.html new file mode 100644 index 0000000000..302a03d098 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Constraint.html @@ -0,0 +1,6 @@ +Constraint in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type Constraint = Constraint<FixpointTypes>;

    Aliased Type§

    enum Constraint {
    +    Pred(Pred<FixpointTypes>, Option<TagIdx>),
    +    Conj(Vec<Constraint<FixpointTypes>>),
    +    Guard(Pred<FixpointTypes>, Box<Constraint<FixpointTypes>>),
    +    ForAll(Var, Sort, Pred<FixpointTypes>, Box<Constraint<FixpointTypes>>),
    +}

    Variants§

    §

    Pred(Pred<FixpointTypes>, Option<TagIdx>)

    §

    Conj(Vec<Constraint<FixpointTypes>>)

    §

    Guard(Pred<FixpointTypes>, Box<Constraint<FixpointTypes>>)

    §

    ForAll(Var, Sort, Pred<FixpointTypes>, Box<Constraint<FixpointTypes>>)

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Expr.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Expr.html new file mode 100644 index 0000000000..0468972abe --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Expr.html @@ -0,0 +1,11 @@ +Expr in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type Expr = Expr<FixpointTypes>;

    Aliased Type§

    enum Expr {
    +    Var(Var),
    +    Constant(Constant),
    +    BinaryOp(BinOp, Box<[Expr<FixpointTypes>; 2]>),
    +    App(Func<FixpointTypes>, Vec<Expr<FixpointTypes>>),
    +    UnaryOp(UnOp, Box<Expr<FixpointTypes>>),
    +    Pair(Box<[Expr<FixpointTypes>; 2]>),
    +    Proj(Box<Expr<FixpointTypes>>, Proj),
    +    IfThenElse(Box<[Expr<FixpointTypes>; 3]>),
    +    Unit,
    +}

    Variants§

    §

    Var(Var)

    §

    Constant(Constant)

    §

    BinaryOp(BinOp, Box<[Expr<FixpointTypes>; 2]>)

    §

    App(Func<FixpointTypes>, Vec<Expr<FixpointTypes>>)

    §

    UnaryOp(UnOp, Box<Expr<FixpointTypes>>)

    §

    Pair(Box<[Expr<FixpointTypes>; 2]>)

    §

    Proj(Box<Expr<FixpointTypes>>, Proj)

    §

    IfThenElse(Box<[Expr<FixpointTypes>; 3]>)

    §

    Unit

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Func.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Func.html new file mode 100644 index 0000000000..a720422697 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Func.html @@ -0,0 +1,5 @@ +Func in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type Func = Func<FixpointTypes>;

    Aliased Type§

    enum Func {
    +    Var(Var),
    +    Itf(Symbol),
    +}

    Variants§

    §

    Var(Var)

    §

    Itf(Symbol)

    interpreted (theory) function

    +
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.KVar.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.KVar.html new file mode 100644 index 0000000000..12a25202e3 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.KVar.html @@ -0,0 +1,5 @@ +KVar in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type KVar = KVar<FixpointTypes>;

    Aliased Type§

    struct KVar {
    +    pub(crate) kvid: KVid,
    +    pub(crate) sorts: Vec<Sort>,
    +    pub(crate) comment: String,
    +}

    Fields§

    §kvid: KVid§sorts: Vec<Sort>§comment: String
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Pred.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Pred.html new file mode 100644 index 0000000000..b2dc18b2a0 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Pred.html @@ -0,0 +1,5 @@ +Pred in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type Pred = Pred<FixpointTypes>;

    Aliased Type§

    enum Pred {
    +    And(Vec<Pred<FixpointTypes>>),
    +    KVar(KVid, Vec<Var>),
    +    Expr(Expr<FixpointTypes>),
    +}

    Variants§

    §

    And(Vec<Pred<FixpointTypes>>)

    §

    KVar(KVid, Vec<Var>)

    §

    Expr(Expr<FixpointTypes>)

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Qualifier.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Qualifier.html new file mode 100644 index 0000000000..d3aa64d781 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Qualifier.html @@ -0,0 +1,6 @@ +Qualifier in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type Qualifier = Qualifier<FixpointTypes>;

    Aliased Type§

    struct Qualifier {
    +    pub name: String,
    +    pub args: Vec<(Var, Sort)>,
    +    pub body: Expr<FixpointTypes>,
    +    pub global: bool,
    +}

    Fields§

    §name: String§args: Vec<(Var, Sort)>§body: Expr<FixpointTypes>§global: bool
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Task.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Task.html new file mode 100644 index 0000000000..7aa7f9e62c --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/fixpoint_generated/type.Task.html @@ -0,0 +1,9 @@ +Task in flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated - Rust
    pub type Task = Task<FixpointTypes>;

    Aliased Type§

    struct Task {
    +    pub comments: Vec<String>,
    +    pub constants: Vec<ConstInfo<FixpointTypes>>,
    +    pub kvars: Vec<KVar<FixpointTypes>>,
    +    pub constraint: Constraint<FixpointTypes>,
    +    pub qualifiers: Vec<Qualifier<FixpointTypes>>,
    +    pub sorts: Vec<String>,
    +    pub scrape_quals: bool,
    +}

    Fields§

    §comments: Vec<String>§constants: Vec<ConstInfo<FixpointTypes>>§kvars: Vec<KVar<FixpointTypes>>§constraint: Constraint<FixpointTypes>§qualifiers: Vec<Qualifier<FixpointTypes>>§sorts: Vec<String>§scrape_quals: bool
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/index.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/index.html new file mode 100644 index 0000000000..ad18a2f40b --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/index.html @@ -0,0 +1 @@ +flux_refineck::fixpoint_encoding::fixpoint - Rust
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/sidebar-items.js b/doc/flux_refineck/fixpoint_encoding/fixpoint/sidebar-items.js new file mode 100644 index 0000000000..964cd7d057 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["Var"],"mod":["fixpoint_generated"],"struct":["GlobalVar","KVid","LocalVar"]}; \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.GlobalVar.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.GlobalVar.html new file mode 100644 index 0000000000..a0a312e48d --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.GlobalVar.html @@ -0,0 +1,56 @@ +GlobalVar in flux_refineck::fixpoint_encoding::fixpoint - Rust
    pub struct GlobalVar {
    +    private: u32,
    +}

    Fields§

    §private: u32

    Implementations§

    source§

    impl GlobalVar

    source

    pub const MAX_AS_U32: u32 = 4_294_967_040u32

    Maximum value the index can take, as a u32.

    +
    source

    pub const MAX: Self = _

    Maximum value the index can take.

    +
    source

    pub const fn from_usize(value: usize) -> Self

    Creates a new index from a given usize.

    +
    Panics
    +

    Will panic if value exceeds MAX.

    +
    source

    pub const fn from_u32(value: u32) -> Self

    Creates a new index from a given u32.

    +
    Panics
    +

    Will panic if value exceeds MAX.

    +
    source

    pub const unsafe fn from_u32_unchecked(value: u32) -> Self

    Creates a new index from a given u32.

    +
    Safety
    +

    The provided value must be less than or equal to the maximum value for the newtype. +Providing a value outside this range is undefined due to layout restrictions.

    +

    Prefer using from_u32.

    +
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    +
    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    +
    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    +

    Trait Implementations§

    source§

    impl Add<usize> for GlobalVar

    §

    type Output = GlobalVar

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for GlobalVar

    source§

    fn clone(&self) -> GlobalVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for GlobalVar

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for GlobalVar

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for GlobalVar

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<GlobalVar> for Var

    source§

    fn from(v: GlobalVar) -> Self

    Converts to this type from the input type.
    source§

    impl From<GlobalVar> for u32

    source§

    fn from(v: GlobalVar) -> u32

    Converts to this type from the input type.
    source§

    impl From<GlobalVar> for usize

    source§

    fn from(v: GlobalVar) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for GlobalVar

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for GlobalVar

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for GlobalVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for GlobalVar

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for GlobalVar

    source§

    fn cmp(&self, other: &GlobalVar) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for GlobalVar

    source§

    fn eq(&self, other: &GlobalVar) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for GlobalVar

    source§

    fn partial_cmp(&self, other: &GlobalVar) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
    source§

    impl Step for GlobalVar

    source§

    fn steps_between(start: &Self, end: &Self) -> Option<usize>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the number of successor steps required to get from start to end. Read more
    source§

    fn forward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    fn backward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    fn forward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    unsafe fn forward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    fn backward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    unsafe fn backward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    impl Copy for GlobalVar

    source§

    impl Eq for GlobalVar

    source§

    impl StructuralEq for GlobalVar

    source§

    impl StructuralPartialEq for GlobalVar

    source§

    impl TrustedStep for GlobalVar

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere + Q: Ord + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.KVid.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.KVid.html new file mode 100644 index 0000000000..85b2adc2b0 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.KVid.html @@ -0,0 +1,58 @@ +KVid in flux_refineck::fixpoint_encoding::fixpoint - Rust
    pub struct KVid {
    +    private: u32,
    +}

    Fields§

    §private: u32

    Implementations§

    source§

    impl KVid

    source

    pub const MAX_AS_U32: u32 = 4_294_967_040u32

    Maximum value the index can take, as a u32.

    +
    source

    pub const MAX: Self = _

    Maximum value the index can take.

    +
    source

    pub const fn from_usize(value: usize) -> Self

    Creates a new index from a given usize.

    +
    Panics
    +

    Will panic if value exceeds MAX.

    +
    source

    pub const fn from_u32(value: u32) -> Self

    Creates a new index from a given u32.

    +
    Panics
    +

    Will panic if value exceeds MAX.

    +
    source

    pub const unsafe fn from_u32_unchecked(value: u32) -> Self

    Creates a new index from a given u32.

    +
    Safety
    +

    The provided value must be less than or equal to the maximum value for the newtype. +Providing a value outside this range is undefined due to layout restrictions.

    +

    Prefer using from_u32.

    +
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    +
    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    +
    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    +

    Trait Implementations§

    source§

    impl Add<usize> for KVid

    §

    type Output = KVid

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for KVid

    source§

    fn clone(&self) -> KVid

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KVid

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for KVid

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl Display for KVid

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<E: Encoder> Encodable<E> for KVid

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<KVid> for u32

    source§

    fn from(v: KVid) -> u32

    Converts to this type from the input type.
    source§

    impl From<KVid> for usize

    source§

    fn from(v: KVid) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for KVid

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for KVid

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for KVid

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for KVid

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for KVid

    source§

    fn cmp(&self, other: &KVid) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for KVid

    source§

    fn eq(&self, other: &KVid) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for KVid

    source§

    fn partial_cmp(&self, other: &KVid) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
    source§

    impl Step for KVid

    source§

    fn steps_between(start: &Self, end: &Self) -> Option<usize>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the number of successor steps required to get from start to end. Read more
    source§

    fn forward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    fn backward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    fn forward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    unsafe fn forward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    fn backward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    unsafe fn backward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    impl Copy for KVid

    source§

    impl Eq for KVid

    source§

    impl StructuralEq for KVid

    source§

    impl StructuralPartialEq for KVid

    source§

    impl TrustedStep for KVid

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for KVid

    §

    impl Send for KVid

    §

    impl Sync for KVid

    §

    impl Unpin for KVid

    §

    impl UnwindSafe for KVid

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere + Q: Ord + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for Twhere + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> Symbol for Twhere + T: Display + Hash,

    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.LocalVar.html b/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.LocalVar.html new file mode 100644 index 0000000000..2454813274 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fixpoint/struct.LocalVar.html @@ -0,0 +1,56 @@ +LocalVar in flux_refineck::fixpoint_encoding::fixpoint - Rust
    pub struct LocalVar {
    +    private: u32,
    +}

    Fields§

    §private: u32

    Implementations§

    source§

    impl LocalVar

    source

    pub const MAX_AS_U32: u32 = 4_294_967_040u32

    Maximum value the index can take, as a u32.

    +
    source

    pub const MAX: Self = _

    Maximum value the index can take.

    +
    source

    pub const fn from_usize(value: usize) -> Self

    Creates a new index from a given usize.

    +
    Panics
    +

    Will panic if value exceeds MAX.

    +
    source

    pub const fn from_u32(value: u32) -> Self

    Creates a new index from a given u32.

    +
    Panics
    +

    Will panic if value exceeds MAX.

    +
    source

    pub const unsafe fn from_u32_unchecked(value: u32) -> Self

    Creates a new index from a given u32.

    +
    Safety
    +

    The provided value must be less than or equal to the maximum value for the newtype. +Providing a value outside this range is undefined due to layout restrictions.

    +

    Prefer using from_u32.

    +
    source

    pub const fn index(self) -> usize

    Extracts the value of this index as a usize.

    +
    source

    pub const fn as_u32(self) -> u32

    Extracts the value of this index as a u32.

    +
    source

    pub const fn as_usize(self) -> usize

    Extracts the value of this index as a usize.

    +

    Trait Implementations§

    source§

    impl Add<usize> for LocalVar

    §

    type Output = LocalVar

    The resulting type after applying the + operator.
    source§

    fn add(self, other: usize) -> Self

    Performs the + operation. Read more
    source§

    impl Clone for LocalVar

    source§

    fn clone(&self) -> LocalVar

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LocalVar

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D: Decoder> Decodable<D> for LocalVar

    source§

    fn decode(d: &mut D) -> Self

    source§

    impl<E: Encoder> Encodable<E> for LocalVar

    source§

    fn encode(&self, e: &mut E)

    source§

    impl From<LocalVar> for Var

    source§

    fn from(v: LocalVar) -> Self

    Converts to this type from the input type.
    source§

    impl From<LocalVar> for u32

    source§

    fn from(v: LocalVar) -> u32

    Converts to this type from the input type.
    source§

    impl From<LocalVar> for usize

    source§

    fn from(v: LocalVar) -> usize

    Converts to this type from the input type.
    source§

    impl From<u32> for LocalVar

    source§

    fn from(value: u32) -> Self

    Converts to this type from the input type.
    source§

    impl From<usize> for LocalVar

    source§

    fn from(value: usize) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for LocalVar

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where + H: Hasher, + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Idx for LocalVar

    source§

    fn new(value: usize) -> Self

    source§

    fn index(self) -> usize

    §

    fn increment_by(&mut self, amount: usize)

    §

    fn plus(self, amount: usize) -> Self

    source§

    impl Ord for LocalVar

    source§

    fn cmp(&self, other: &LocalVar) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for LocalVar

    source§

    fn eq(&self, other: &LocalVar) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for LocalVar

    source§

    fn partial_cmp(&self, other: &LocalVar) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
    source§

    impl Step for LocalVar

    source§

    fn steps_between(start: &Self, end: &Self) -> Option<usize>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the number of successor steps required to get from start to end. Read more
    source§

    fn forward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    fn backward_checked(start: Self, u: usize) -> Option<Self>

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    fn forward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    unsafe fn forward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the successor +of self count times. Read more
    source§

    fn backward(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    unsafe fn backward_unchecked(start: Self, count: usize) -> Self

    🔬This is a nightly-only experimental API. (step_trait)
    Returns the value that would be obtained by taking the predecessor +of self count times. Read more
    source§

    impl Copy for LocalVar

    source§

    impl Eq for LocalVar

    source§

    impl StructuralEq for LocalVar

    source§

    impl StructuralPartialEq for LocalVar

    source§

    impl TrustedStep for LocalVar

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Comparable<K> for Qwhere + Q: Ord + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn compare(&self, key: &K) -> Ordering

    Compare self to key and return their ordering.
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Qwhere + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fn.fixpoint_const_map.html b/doc/flux_refineck/fixpoint_encoding/fn.fixpoint_const_map.html index 459762499b..87a80da591 100644 --- a/doc/flux_refineck/fixpoint_encoding/fn.fixpoint_const_map.html +++ b/doc/flux_refineck/fixpoint_encoding/fn.fixpoint_const_map.html @@ -1 +1 @@ -fixpoint_const_map in flux_refineck::fixpoint_encoding - Rust
    fn fixpoint_const_map(genv: &GlobalEnv<'_, '_>) -> FxIndexMap<Key, ConstInfo>
    \ No newline at end of file +fixpoint_const_map in flux_refineck::fixpoint_encoding - Rust
    fn fixpoint_const_map(genv: &GlobalEnv<'_, '_>) -> FxIndexMap<Key, ConstInfo>
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fn.func_sort_to_fixpoint.html b/doc/flux_refineck/fixpoint_encoding/fn.func_sort_to_fixpoint.html index 532a4f5a57..f88fff8e35 100644 --- a/doc/flux_refineck/fixpoint_encoding/fn.func_sort_to_fixpoint.html +++ b/doc/flux_refineck/fixpoint_encoding/fn.func_sort_to_fixpoint.html @@ -1 +1 @@ -func_sort_to_fixpoint in flux_refineck::fixpoint_encoding - Rust
    fn func_sort_to_fixpoint(fsort: &PolyFuncSort) -> PolyFuncSort
    \ No newline at end of file +func_sort_to_fixpoint in flux_refineck::fixpoint_encoding - Rust
    fn func_sort_to_fixpoint(fsort: &PolyFuncSort) -> PolyFuncSort
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fn.qualifier_to_fixpoint.html b/doc/flux_refineck/fixpoint_encoding/fn.qualifier_to_fixpoint.html index 8e036543f2..f8e0f8ee98 100644 --- a/doc/flux_refineck/fixpoint_encoding/fn.qualifier_to_fixpoint.html +++ b/doc/flux_refineck/fixpoint_encoding/fn.qualifier_to_fixpoint.html @@ -1,5 +1,5 @@ -qualifier_to_fixpoint in flux_refineck::fixpoint_encoding - Rust
    fn qualifier_to_fixpoint(
    +qualifier_to_fixpoint in flux_refineck::fixpoint_encoding - Rust
    fn qualifier_to_fixpoint(
         dbg_span: Span,
         const_map: &FxIndexMap<Key, ConstInfo>,
         qualifier: &Qualifier
    -) -> Qualifier
    \ No newline at end of file +) -> Qualifier<FixpointTypes>
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fn.sort_to_fixpoint.html b/doc/flux_refineck/fixpoint_encoding/fn.sort_to_fixpoint.html index 7766b32975..83b6f0dc71 100644 --- a/doc/flux_refineck/fixpoint_encoding/fn.sort_to_fixpoint.html +++ b/doc/flux_refineck/fixpoint_encoding/fn.sort_to_fixpoint.html @@ -1 +1 @@ -sort_to_fixpoint in flux_refineck::fixpoint_encoding - Rust
    pub fn sort_to_fixpoint(sort: &Sort) -> Sort
    \ No newline at end of file +sort_to_fixpoint in flux_refineck::fixpoint_encoding - Rust
    pub fn sort_to_fixpoint(sort: &Sort) -> Sort
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/fn.stitch.html b/doc/flux_refineck/fixpoint_encoding/fn.stitch.html new file mode 100644 index 0000000000..dd4e0b6e90 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/fn.stitch.html @@ -0,0 +1,4 @@ +stitch in flux_refineck::fixpoint_encoding - Rust
    pub fn stitch(
    +    bindings: Vec<(LocalVar, Sort, Expr<FixpointTypes>)>,
    +    c: Constraint<FixpointTypes>
    +) -> Constraint<FixpointTypes>
    \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/index.html b/doc/flux_refineck/fixpoint_encoding/index.html index 19a88c0ef9..433b1ea79e 100644 --- a/doc/flux_refineck/fixpoint_encoding/index.html +++ b/doc/flux_refineck/fixpoint_encoding/index.html @@ -1,4 +1,5 @@ -flux_refineck::fixpoint_encoding - Rust
    Expand description

    Encoding of the refinement tree into a fixpoint constraint.

    -

    Structs

    Enums

    • How an [rty::KVar] is encoded in the fixpoint constraint
    • Key 🔒

    Functions

    Type Aliases

    • Bindings 🔒
      An alias for additional bindings introduced when ANF-ing index expressions -in the course of conversion to fixpoint.
    • ConstMap 🔒
    • KVidMap 🔒
    • NameMap 🔒
    • PredSpans 🔒
      An alias for a list of predicate (conjuncts) and their spans, used to give +flux_refineck::fixpoint_encoding - Rust
      Expand description

      Encoding of the refinement tree into a fixpoint constraint.

      +

      Modules

      Structs

      Enums

      • How an [rty::KVar] is encoded in the fixpoint constraint
      • Key 🔒

      Functions

      Type Aliases

      • An alias for additional bindings introduced when ANF-ing index expressions +in the course of encoding into fixpoint.
      • ConstMap 🔒
      • KVidMap 🔒
      • PredSpans 🔒
        An alias for a list of predicate (conjuncts) and their spans, used to give localized errors when refine checking fails.
      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/sidebar-items.js b/doc/flux_refineck/fixpoint_encoding/sidebar-items.js index f144b835f2..e5adb8ede4 100644 --- a/doc/flux_refineck/fixpoint_encoding/sidebar-items.js +++ b/doc/flux_refineck/fixpoint_encoding/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["KVarEncoding","Key"],"fn":["fixpoint_const_map","func_sort_to_fixpoint","qualifier_to_fixpoint","sort_to_fixpoint"],"struct":["ConstInfo","ExprCtxt","FixpointCtxt","FixpointKVar","KVarDecl","KVarStore","TagIdx"],"type":["Bindings","ConstMap","KVidMap","NameMap","PredSpans"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["KVarEncoding","Key"],"fn":["fixpoint_const_map","func_sort_to_fixpoint","qualifier_to_fixpoint","sort_to_fixpoint","stitch"],"mod":["fixpoint"],"struct":["ConstInfo","Env","ExprCtxt","FixpointCtxt","FixpointKVar","KVarDecl","KVarStore","TagIdx"],"type":["Bindings","ConstMap","KVidMap","PredSpans"]}; \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/struct.ConstInfo.html b/doc/flux_refineck/fixpoint_encoding/struct.ConstInfo.html index 8fb983da43..706e0651d8 100644 --- a/doc/flux_refineck/fixpoint_encoding/struct.ConstInfo.html +++ b/doc/flux_refineck/fixpoint_encoding/struct.ConstInfo.html @@ -1,9 +1,9 @@ -ConstInfo in flux_refineck::fixpoint_encoding - Rust
      struct ConstInfo {
      -    name: ConstName,
      +ConstInfo in flux_refineck::fixpoint_encoding - Rust
      struct ConstInfo {
      +    name: GlobalVar,
           sym: Symbol,
      -    sort: Sort,
      +    sort: Sort,
           val: Option<Constant>,
      -}

      Fields§

      §name: ConstName§sym: Symbol§sort: Sort§val: Option<Constant>

      Trait Implementations§

      source§

      impl Debug for ConstInfo

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +}

      Fields§

      §name: GlobalVar§sym: Symbol§sort: Sort§val: Option<Constant>

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/fixpoint_encoding/struct.Env.html b/doc/flux_refineck/fixpoint_encoding/struct.Env.html new file mode 100644 index 0000000000..ac9258a495 --- /dev/null +++ b/doc/flux_refineck/fixpoint_encoding/struct.Env.html @@ -0,0 +1,23 @@ +Env in flux_refineck::fixpoint_encoding - Rust
      struct Env {
      +    local_var_gen: IndexGen<LocalVar>,
      +    fvars: UnordMap<Name, LocalVar>,
      +    layers: Vec<Vec<LocalVar>>,
      +}
      Expand description

      Environment used to map [rty::Var] into [fixpoint::Name]. This only supports +mapping of [rty::Var::LateBound] and [rty::Var::Free].

      +

      Fields§

      §local_var_gen: IndexGen<LocalVar>§fvars: UnordMap<Name, LocalVar>§layers: Vec<Vec<LocalVar>>

      Layers of late bound variables

      +

      Implementations§

      source§

      impl Env

      source

      fn new() -> Self

      source

      fn fresh_name(&self) -> LocalVar

      source

      fn insert_fvar_map(&mut self, name: Name) -> LocalVar

      source

      fn remove_fvar_map(&mut self, name: Name)

      source

      fn get_fvar(&self, name: Name) -> Option<LocalVar>

      source

      fn get_late_bvar(&self, debruijn: DebruijnIndex, idx: u32) -> Option<LocalVar>

      source

      fn push_layer_with_fresh_names(&mut self, count: usize)

      source

      fn last_layer(&self) -> &[LocalVar]

      Auto Trait Implementations§

      §

      impl RefUnwindSafe for Env

      §

      impl Send for Env

      §

      impl Sync for Env

      §

      impl Unpin for Env

      §

      impl UnwindSafe for Env

      Blanket Implementations§

      source§

      impl<T> Any for Twhere + T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere + T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere + T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      +
      source§

      impl<T> Instrument for T

      source§

      fn instrument(self, span: Span) -> Instrumented<Self>

      Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
      source§

      fn in_current_span(self) -> Instrumented<Self>

      Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
      source§

      impl<T, U> Into<U> for Twhere + U: From<T>,

      source§

      fn into(self) -> U

      Calls U::from(self).

      +

      That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

      +
      source§

      impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

      §

      type Error = Infallible

      The type returned in the event of a conversion error.
      source§

      fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

      Performs the conversion.
      source§

      impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

      §

      type Error = <U as TryFrom<T>>::Error

      The type returned in the event of a conversion error.
      source§

      fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

      Performs the conversion.
      source§

      impl<T> WithSubscriber for T

      source§

      fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

      Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
      source§

      fn with_current_subscriber(self) -> WithDispatch<Self>

      Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/struct.ExprCtxt.html b/doc/flux_refineck/fixpoint_encoding/struct.ExprCtxt.html index 1d7711b7a9..0641818c36 100644 --- a/doc/flux_refineck/fixpoint_encoding/struct.ExprCtxt.html +++ b/doc/flux_refineck/fixpoint_encoding/struct.ExprCtxt.html @@ -1,16 +1,16 @@ -ExprCtxt in flux_refineck::fixpoint_encoding - Rust
      struct ExprCtxt<'a> {
      -    name_map: &'a UnordMap<Name, Name>,
      +ExprCtxt in flux_refineck::fixpoint_encoding - Rust
      struct ExprCtxt<'a> {
      +    env: &'a Env,
           const_map: &'a FxIndexMap<Key, ConstInfo>,
           dbg_span: Span,
      -}

      Fields§

      §name_map: &'a UnordMap<Name, Name>§const_map: &'a FxIndexMap<Key, ConstInfo>§dbg_span: Span

      Used to report bugs

      -

      Implementations§

      source§

      impl<'a> ExprCtxt<'a>

      source

      fn new( - name_map: &'a UnordMap<Name, Name>, +}

      Fields§

      §env: &'a Env§const_map: &'a FxIndexMap<Key, ConstInfo>§dbg_span: Span

      Used to report bugs

      +

      Implementations§

      source§

      impl<'a> ExprCtxt<'a>

      source

      fn new( + env: &'a Env, const_map: &'a FxIndexMap<Key, ConstInfo>, dbg_span: Span -) -> Self

      source

      fn expr_to_fixpoint(&self, expr: &Expr) -> Expr

      source

      fn exprs_to_fixpoint<'b>( +) -> Self

      source

      fn expr_to_fixpoint(&self, expr: &Expr) -> Expr<FixpointTypes>

      source

      fn var_to_fixpoint(&self, var: &Var) -> LocalVar

      source

      fn exprs_to_fixpoint<'b>( &self, exprs: impl IntoIterator<Item = &'b Expr> -) -> Vec<Expr>

      source

      fn tuple_to_fixpoint(&self, exprs: &[Expr]) -> Expr

      source

      fn func_to_fixpoint(&self, func: &Expr) -> Func

      Auto Trait Implementations§

      §

      impl<'a> RefUnwindSafe for ExprCtxt<'a>

      §

      impl<'a> Send for ExprCtxt<'a>

      §

      impl<'a> Sync for ExprCtxt<'a>

      §

      impl<'a> Unpin for ExprCtxt<'a>

      §

      impl<'a> UnwindSafe for ExprCtxt<'a>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +) -> Vec<Expr<FixpointTypes>>

      source

      fn tuple_to_fixpoint(&self, exprs: &[Expr]) -> Expr<FixpointTypes>

      source

      fn func_to_fixpoint(&self, func: &Expr) -> Func<FixpointTypes>

      Auto Trait Implementations§

      §

      impl<'a> RefUnwindSafe for ExprCtxt<'a>

      §

      impl<'a> Send for ExprCtxt<'a>

      §

      impl<'a> Sync for ExprCtxt<'a>

      §

      impl<'a> Unpin for ExprCtxt<'a>

      §

      impl<'a> UnwindSafe for ExprCtxt<'a>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/fixpoint_encoding/struct.FixpointCtxt.html b/doc/flux_refineck/fixpoint_encoding/struct.FixpointCtxt.html index fc38c7fa76..844cb0b631 100644 --- a/doc/flux_refineck/fixpoint_encoding/struct.FixpointCtxt.html +++ b/doc/flux_refineck/fixpoint_encoding/struct.FixpointCtxt.html @@ -1,55 +1,53 @@ -FixpointCtxt in flux_refineck::fixpoint_encoding - Rust
      pub struct FixpointCtxt<'genv, 'tcx, T: Eq + Hash> {
      +FixpointCtxt in flux_refineck::fixpoint_encoding - Rust
      pub struct FixpointCtxt<'genv, 'tcx, T: Eq + Hash> {
           comments: Vec<String>,
           genv: &'genv GlobalEnv<'genv, 'tcx>,
           kvars: KVarStore,
      -    fixpoint_kvars: IndexVec<KVid, FixpointKVar>,
      -    kvid_map: UnordMap<KVid, Vec<KVid>>,
      -    name_gen: IndexGen<Name>,
      -    name_map: UnordMap<Name, Name>,
      +    fixpoint_kvars: IndexVec<KVid, FixpointKVar>,
      +    env: Env,
           const_map: FxIndexMap<Key, ConstInfo>,
      +    kvid_map: UnordMap<KVid, Vec<KVid>>,
           tags: IndexVec<TagIdx, T>,
           tags_inv: UnordMap<T, TagIdx>,
           def_id: LocalDefId,
      -}

      Fields§

      §comments: Vec<String>§genv: &'genv GlobalEnv<'genv, 'tcx>§kvars: KVarStore§fixpoint_kvars: IndexVec<KVid, FixpointKVar>§kvid_map: UnordMap<KVid, Vec<KVid>>§name_gen: IndexGen<Name>§name_map: UnordMap<Name, Name>§const_map: FxIndexMap<Key, ConstInfo>§tags: IndexVec<TagIdx, T>§tags_inv: UnordMap<T, TagIdx>§def_id: LocalDefId

      DefId of the item being checked. This could be a function/method or an adt when checking +}

      Fields§

      §comments: Vec<String>§genv: &'genv GlobalEnv<'genv, 'tcx>§kvars: KVarStore§fixpoint_kvars: IndexVec<KVid, FixpointKVar>§env: Env§const_map: FxIndexMap<Key, ConstInfo>§kvid_map: UnordMap<KVid, Vec<KVid>>§tags: IndexVec<TagIdx, T>§tags_inv: UnordMap<T, TagIdx>§def_id: LocalDefId

      DefId of the item being checked. This could be a function/method or an adt when checking invariants.

      -

      Implementations§

      source§

      impl<'genv, 'tcx, Tag> FixpointCtxt<'genv, 'tcx, Tag>where - Tag: Hash + Eq + Copy,

      source

      pub fn new( +

      Implementations§

      source§

      impl<'genv, 'tcx, Tag> FixpointCtxt<'genv, 'tcx, Tag>where + Tag: Hash + Eq + Copy,

      source

      pub fn new( genv: &'genv GlobalEnv<'genv, 'tcx>, def_id: LocalDefId, kvars: KVarStore -) -> Self

      source

      pub fn with_name_map<R>( +) -> Self

      source

      pub(crate) fn with_name_map<R>( &mut self, name: Name, - to: Name, - f: impl FnOnce(&mut Self) -> R -) -> R

      source

      pub fn fresh_name(&self) -> Name

      source

      fn assume_const_val( - cstr: Constraint<TagIdx>, - const_name: ConstName, + f: impl FnOnce(&mut Self, LocalVar) -> R +) -> R

      source

      fn assume_const_val( + cstr: Constraint<FixpointTypes>, + var: GlobalVar, const_val: Constant -) -> Constraint<TagIdx>

      source

      pub fn check( +) -> Constraint<FixpointTypes>

      source

      pub fn check( self, cache: &mut QueryCache, - constraint: Constraint<TagIdx>, + constraint: Constraint<FixpointTypes>, config: &CheckerConfig -) -> QueryResult<Vec<Tag>>

      source

      pub fn tag_idx(&mut self, tag: Tag) -> TagIdxwhere - Tag: Debug,

      source

      pub fn pred_to_fixpoint( +) -> QueryResult<Vec<Tag>>

      source

      pub fn tag_idx(&mut self, tag: Tag) -> TagIdxwhere + Tag: Debug,

      source

      pub fn pred_to_fixpoint( &mut self, pred: &Expr -) -> (Vec<(Name, Sort, Expr)>, Vec<(Pred, Option<ESpan>)>)

      source

      fn pred_to_fixpoint_internal( +) -> (Vec<(LocalVar, Sort, Expr<FixpointTypes>)>, Vec<(Pred<FixpointTypes>, Option<ESpan>)>)

      source

      fn pred_to_fixpoint_internal( &mut self, expr: &Expr, - bindings: &mut Vec<(Name, Sort, Expr)>, - preds: &mut Vec<(Pred, Option<ESpan>)> -)

      source

      fn kvar_to_fixpoint( + bindings: &mut Vec<(LocalVar, Sort, Expr<FixpointTypes>)>, + preds: &mut Vec<(Pred<FixpointTypes>, Option<ESpan>)> +)

      source

      fn kvar_to_fixpoint( &mut self, kvar: &KVar, - bindings: &mut Vec<(Name, Sort, Expr)> -) -> Pred

      source

      fn populate_kvid_map(&mut self, kvid: KVid)

      source

      fn imm( + bindings: &mut Vec<(LocalVar, Sort, Expr<FixpointTypes>)> +) -> Pred<FixpointTypes>

      source

      fn populate_kvid_map(&mut self, kvid: KVid)

      source

      fn imm( &self, arg: &Expr, sort: &Sort, - bindings: &mut Vec<(Name, Sort, Expr)> -) -> Name

      source

      fn as_expr_cx(&self) -> ExprCtxt<'_>

      source

      fn def_span(&self) -> Span

      Auto Trait Implementations§

      §

      impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>

      §

      impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>

      §

      impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>

      §

      impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>where + bindings: &mut Vec<(LocalVar, Sort, Expr<FixpointTypes>)> +) -> LocalVar

      source

      fn as_expr_cx(&self) -> ExprCtxt<'_>

      source

      fn def_span(&self) -> Span

      Auto Trait Implementations§

      §

      impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>

      §

      impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>

      §

      impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>

      §

      impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>where T: Unpin,

      §

      impl<'genv, 'tcx, T> !UnwindSafe for FixpointCtxt<'genv, 'tcx, T>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_refineck/fixpoint_encoding/struct.FixpointKVar.html b/doc/flux_refineck/fixpoint_encoding/struct.FixpointKVar.html index f3fb3e912f..102ec358b1 100644 --- a/doc/flux_refineck/fixpoint_encoding/struct.FixpointKVar.html +++ b/doc/flux_refineck/fixpoint_encoding/struct.FixpointKVar.html @@ -1,7 +1,7 @@ -FixpointKVar in flux_refineck::fixpoint_encoding - Rust
      struct FixpointKVar {
      -    sorts: Vec<Sort>,
      +FixpointKVar in flux_refineck::fixpoint_encoding - Rust
      struct FixpointKVar {
      +    sorts: Vec<Sort>,
           orig: KVid,
      -}

      Fields§

      §sorts: Vec<Sort>§orig: KVid

      Implementations§

      source§

      impl FixpointKVar

      source

      fn new(sorts: Vec<Sort>, orig: KVid) -> Self

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +}

      Fields§

      §sorts: Vec<Sort>§orig: KVid

      Implementations§

      source§

      impl FixpointKVar

      source

      fn new(sorts: Vec<Sort>, orig: KVid) -> Self

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/fixpoint_encoding/struct.KVarStore.html b/doc/flux_refineck/fixpoint_encoding/struct.KVarStore.html index 564f3514a0..35c671cb4c 100644 --- a/doc/flux_refineck/fixpoint_encoding/struct.KVarStore.html +++ b/doc/flux_refineck/fixpoint_encoding/struct.KVarStore.html @@ -1,6 +1,6 @@ KVarStore in flux_refineck::fixpoint_encoding - Rust
      pub struct KVarStore {
           kvars: IndexVec<KVid, KVarDecl>,
      -}

      Fields§

      §kvars: IndexVec<KVid, KVarDecl>

      Implementations§

      source§

      impl KVarStore

      source

      pub fn new() -> Self

      source

      fn get(&self, kvid: KVid) -> &KVarDecl

      source

      pub fn fresh( +}

      Fields§

      §kvars: IndexVec<KVid, KVarDecl>

      Implementations§

      source§

      impl KVarStore

      source

      pub fn new() -> Self

      source

      fn get(&self, kvid: KVid) -> &KVarDecl

      source

      pub fn fresh( &mut self, binders: &[List<Sort>], scope: &Scope, @@ -10,7 +10,7 @@ binders are appended to the scope.

      Note that the returned expression will have escaping variables and it is up to the caller to put it under an appropriate number of binders.

      -

      source

      fn fresh_inner<A>( +

      source

      fn fresh_inner<A>( &mut self, self_args: usize, args: A, diff --git a/doc/flux_refineck/fixpoint_encoding/struct.TagIdx.html b/doc/flux_refineck/fixpoint_encoding/struct.TagIdx.html index 3f7ea25ca1..042e9d3bdf 100644 --- a/doc/flux_refineck/fixpoint_encoding/struct.TagIdx.html +++ b/doc/flux_refineck/fixpoint_encoding/struct.TagIdx.html @@ -1,4 +1,4 @@ -TagIdx in flux_refineck::fixpoint_encoding - Rust
      pub struct TagIdx {
      +TagIdx in flux_refineck::fixpoint_encoding - Rust
      pub struct TagIdx {
           private: u32,
       }

      Fields§

      §private: u32

      Implementations§

      source§

      impl TagIdx

      source

      pub const MAX_AS_U32: u32 = 4_294_967_040u32

      Maximum value the index can take, as a u32.

      source

      pub const MAX: Self = _

      Maximum value the index can take.

      @@ -16,7 +16,7 @@
      Safety
      source

      pub const fn index(self) -> usize

      Extracts the value of this index as a usize.

      source

      pub const fn as_u32(self) -> u32

      Extracts the value of this index as a u32.

      source

      pub const fn as_usize(self) -> usize

      Extracts the value of this index as a usize.

      -

      Trait Implementations§

      source§

      impl Add<usize> for TagIdx

      §

      type Output = TagIdx

      The resulting type after applying the + operator.
      source§

      fn add(self, other: usize) -> Self

      Performs the + operation. Read more
      source§

      impl Clone for TagIdx

      source§

      fn clone(&self) -> TagIdx

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Debug for TagIdx

      source§

      fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl<D: Decoder> Decodable<D> for TagIdx

      source§

      fn decode(d: &mut D) -> Self

      source§

      impl Display for TagIdx

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl<E: Encoder> Encodable<E> for TagIdx

      source§

      fn encode(&self, e: &mut E)

      source§

      impl From<TagIdx> for u32

      source§

      fn from(v: TagIdx) -> u32

      Converts to this type from the input type.
      source§

      impl From<TagIdx> for usize

      source§

      fn from(v: TagIdx) -> usize

      Converts to this type from the input type.
      source§

      impl From<u32> for TagIdx

      source§

      fn from(value: u32) -> Self

      Converts to this type from the input type.
      source§

      impl From<usize> for TagIdx

      source§

      fn from(value: usize) -> Self

      Converts to this type from the input type.
      source§

      impl FromStr for TagIdx

      §

      type Err = ParseIntError

      The associated error which can be returned from parsing.
      source§

      fn from_str(s: &str) -> Result<Self, Self::Err>

      Parses a string s to return a value of this type. Read more
      source§

      impl Hash for TagIdx

      source§

      fn hash<__H: Hasher>(&self, state: &mut __H)

      Feeds this value into the given Hasher. Read more
      1.3.0 · source§

      fn hash_slice<H>(data: &[Self], state: &mut H)where +

      Trait Implementations§

      source§

      impl Add<usize> for TagIdx

      §

      type Output = TagIdx

      The resulting type after applying the + operator.
      source§

      fn add(self, other: usize) -> Self

      Performs the + operation. Read more
      source§

      impl Clone for TagIdx

      source§

      fn clone(&self) -> TagIdx

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Debug for TagIdx

      source§

      fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl<D: Decoder> Decodable<D> for TagIdx

      source§

      fn decode(d: &mut D) -> Self

      source§

      impl Display for TagIdx

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl<E: Encoder> Encodable<E> for TagIdx

      source§

      fn encode(&self, e: &mut E)

      source§

      impl From<TagIdx> for u32

      source§

      fn from(v: TagIdx) -> u32

      Converts to this type from the input type.
      source§

      impl From<TagIdx> for usize

      source§

      fn from(v: TagIdx) -> usize

      Converts to this type from the input type.
      source§

      impl From<u32> for TagIdx

      source§

      fn from(value: u32) -> Self

      Converts to this type from the input type.
      source§

      impl From<usize> for TagIdx

      source§

      fn from(value: usize) -> Self

      Converts to this type from the input type.
      source§

      impl FromStr for TagIdx

      §

      type Err = ParseIntError

      The associated error which can be returned from parsing.
      source§

      fn from_str(s: &str) -> Result<Self, Self::Err>

      Parses a string s to return a value of this type. Read more
      source§

      impl Hash for TagIdx

      source§

      fn hash<__H: Hasher>(&self, state: &mut __H)

      Feeds this value into the given Hasher. Read more
      1.3.0 · source§

      fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      source§

      impl Idx for TagIdx

      source§

      fn new(value: usize) -> Self

      source§

      fn index(self) -> usize

      §

      fn increment_by(&mut self, amount: usize)

      §

      fn plus(self, amount: usize) -> Self

      source§

      impl Ord for TagIdx

      source§

      fn cmp(&self, other: &TagIdx) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 · source§

      fn max(self, other: Self) -> Selfwhere Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 · source§

      fn min(self, other: Self) -> Selfwhere @@ -54,4 +54,5 @@
      Safety
      U: TryFrom<T>,

      §

      type Error = <U as TryFrom<T>>::Error

      The type returned in the event of a conversion error.
      source§

      fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

      Performs the conversion.
      source§

      impl<T> WithSubscriber for T

      source§

      fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

      Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
      source§

      fn with_current_subscriber(self) -> WithDispatch<Self>

      Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
      \ No newline at end of file +WithDispatch wrapper. Read more
      §

      impl<T> Symbol for Twhere + T: Display + Hash,

      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/type.Bindings.html b/doc/flux_refineck/fixpoint_encoding/type.Bindings.html index 5a14fb2cdb..2d5361de50 100644 --- a/doc/flux_refineck/fixpoint_encoding/type.Bindings.html +++ b/doc/flux_refineck/fixpoint_encoding/type.Bindings.html @@ -1,6 +1,6 @@ -Bindings in flux_refineck::fixpoint_encoding - Rust
      type Bindings = Vec<(Name, Sort, Expr)>;
      Expand description

      An alias for additional bindings introduced when ANF-ing index expressions -in the course of conversion to fixpoint.

      +Bindings in flux_refineck::fixpoint_encoding - Rust
      pub type Bindings = Vec<(LocalVar, Sort, Expr<FixpointTypes>)>;
      Expand description

      An alias for additional bindings introduced when ANF-ing index expressions +in the course of encoding into fixpoint.

      Aliased Type§

      struct Bindings {
      -    buf: RawVec<(Name, Sort, Expr)>,
      +    buf: RawVec<(LocalVar, Sort, Expr<FixpointTypes>)>,
           len: usize,
      -}

      Fields§

      §buf: RawVec<(Name, Sort, Expr)>§len: usize
      \ No newline at end of file +}

      Fields§

      §buf: RawVec<(LocalVar, Sort, Expr<FixpointTypes>)>§len: usize
      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/type.ConstMap.html b/doc/flux_refineck/fixpoint_encoding/type.ConstMap.html index 8901d03f21..6b40c25e40 100644 --- a/doc/flux_refineck/fixpoint_encoding/type.ConstMap.html +++ b/doc/flux_refineck/fixpoint_encoding/type.ConstMap.html @@ -1,4 +1,4 @@ -ConstMap in flux_refineck::fixpoint_encoding - Rust
      type ConstMap = FxIndexMap<Key, ConstInfo>;

      Aliased Type§

      struct ConstMap {
      +ConstMap in flux_refineck::fixpoint_encoding - Rust
      type ConstMap = FxIndexMap<Key, ConstInfo>;

      Aliased Type§

      struct ConstMap {
           pub(crate) core: IndexMapCore<Key, ConstInfo>,
           hash_builder: BuildHasherDefault<FxHasher>,
       }

      Fields§

      §core: IndexMapCore<Key, ConstInfo>§hash_builder: BuildHasherDefault<FxHasher>
      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/type.KVidMap.html b/doc/flux_refineck/fixpoint_encoding/type.KVidMap.html index 88c05b9d7e..884ee0e703 100644 --- a/doc/flux_refineck/fixpoint_encoding/type.KVidMap.html +++ b/doc/flux_refineck/fixpoint_encoding/type.KVidMap.html @@ -1,3 +1,3 @@ -KVidMap in flux_refineck::fixpoint_encoding - Rust
      type KVidMap = UnordMap<KVid, Vec<KVid>>;

      Aliased Type§

      struct KVidMap {
      -    inner: HashMap<KVid, Vec<KVid>, BuildHasherDefault<FxHasher>>,
      -}

      Fields§

      §inner: HashMap<KVid, Vec<KVid>, BuildHasherDefault<FxHasher>>
      \ No newline at end of file +KVidMap in flux_refineck::fixpoint_encoding - Rust
      type KVidMap = UnordMap<KVid, Vec<KVid>>;

      Aliased Type§

      struct KVidMap {
      +    inner: HashMap<KVid, Vec<KVid>, BuildHasherDefault<FxHasher>>,
      +}

      Fields§

      §inner: HashMap<KVid, Vec<KVid>, BuildHasherDefault<FxHasher>>
      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/type.NameMap.html b/doc/flux_refineck/fixpoint_encoding/type.NameMap.html deleted file mode 100644 index 805a0a6341..0000000000 --- a/doc/flux_refineck/fixpoint_encoding/type.NameMap.html +++ /dev/null @@ -1,3 +0,0 @@ -NameMap in flux_refineck::fixpoint_encoding - Rust
      type NameMap = UnordMap<Name, Name>;

      Aliased Type§

      struct NameMap {
      -    inner: HashMap<Name, Name, BuildHasherDefault<FxHasher>>,
      -}

      Fields§

      §inner: HashMap<Name, Name, BuildHasherDefault<FxHasher>>
      \ No newline at end of file diff --git a/doc/flux_refineck/fixpoint_encoding/type.PredSpans.html b/doc/flux_refineck/fixpoint_encoding/type.PredSpans.html index 8a50363000..3248fb1cc0 100644 --- a/doc/flux_refineck/fixpoint_encoding/type.PredSpans.html +++ b/doc/flux_refineck/fixpoint_encoding/type.PredSpans.html @@ -1,6 +1,6 @@ -PredSpans in flux_refineck::fixpoint_encoding - Rust
      type PredSpans = Vec<(Pred, Option<ESpan>)>;
      Expand description

      An alias for a list of predicate (conjuncts) and their spans, used to give +PredSpans in flux_refineck::fixpoint_encoding - Rust

      type PredSpans = Vec<(Pred<FixpointTypes>, Option<ESpan>)>;
      Expand description

      An alias for a list of predicate (conjuncts) and their spans, used to give localized errors when refine checking fails.

      Aliased Type§

      struct PredSpans {
      -    buf: RawVec<(Pred, Option<ESpan>)>,
      +    buf: RawVec<(Pred<FixpointTypes>, Option<ESpan>)>,
           len: usize,
      -}

      Fields§

      §buf: RawVec<(Pred, Option<ESpan>)>§len: usize
      \ No newline at end of file +}

      Fields§

      §buf: RawVec<(Pred<FixpointTypes>, Option<ESpan>)>§len: usize
      \ No newline at end of file diff --git a/doc/flux_refineck/ghost_statements/points_to/struct.PlaceIndex.html b/doc/flux_refineck/ghost_statements/points_to/struct.PlaceIndex.html index e6960d754c..156921691a 100644 --- a/doc/flux_refineck/ghost_statements/points_to/struct.PlaceIndex.html +++ b/doc/flux_refineck/ghost_statements/points_to/struct.PlaceIndex.html @@ -19,7 +19,7 @@
      Safety

      source

      const fn index(self) -> usize

      Extracts the value of this index as a usize.

      source

      const fn as_u32(self) -> u32

      Extracts the value of this index as a u32.

      source

      const fn as_usize(self) -> usize

      Extracts the value of this index as a usize.

      -

      Trait Implementations§

      source§

      impl Add<usize> for PlaceIndex

      §

      type Output = PlaceIndex

      The resulting type after applying the + operator.
      source§

      fn add(self, other: usize) -> Self

      Performs the + operation. Read more
      source§

      impl Clone for PlaceIndex

      source§

      fn clone(&self) -> PlaceIndex

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Debug for PlaceIndex

      source§

      fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl<D: Decoder> Decodable<D> for PlaceIndex

      source§

      fn decode(d: &mut D) -> Self

      source§

      impl<E: Encoder> Encodable<E> for PlaceIndex

      source§

      fn encode(&self, e: &mut E)

      source§

      impl From<PlaceIndex> for u32

      source§

      fn from(v: PlaceIndex) -> u32

      Converts to this type from the input type.
      source§

      impl From<PlaceIndex> for usize

      source§

      fn from(v: PlaceIndex) -> usize

      Converts to this type from the input type.
      source§

      impl From<u32> for PlaceIndex

      source§

      fn from(value: u32) -> Self

      Converts to this type from the input type.
      source§

      impl From<usize> for PlaceIndex

      source§

      fn from(value: usize) -> Self

      Converts to this type from the input type.
      source§

      impl Hash for PlaceIndex

      source§

      fn hash<__H: Hasher>(&self, state: &mut __H)

      Feeds this value into the given Hasher. Read more
      1.3.0 · source§

      fn hash_slice<H>(data: &[Self], state: &mut H)where +

      Trait Implementations§

      source§

      impl Add<usize> for PlaceIndex

      §

      type Output = PlaceIndex

      The resulting type after applying the + operator.
      source§

      fn add(self, other: usize) -> Self

      Performs the + operation. Read more
      source§

      impl Clone for PlaceIndex

      source§

      fn clone(&self) -> PlaceIndex

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Debug for PlaceIndex

      source§

      fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl<D: Decoder> Decodable<D> for PlaceIndex

      source§

      fn decode(d: &mut D) -> Self

      source§

      impl<E: Encoder> Encodable<E> for PlaceIndex

      source§

      fn encode(&self, e: &mut E)

      source§

      impl From<PlaceIndex> for u32

      source§

      fn from(v: PlaceIndex) -> u32

      Converts to this type from the input type.
      source§

      impl From<PlaceIndex> for usize

      source§

      fn from(v: PlaceIndex) -> usize

      Converts to this type from the input type.
      source§

      impl From<u32> for PlaceIndex

      source§

      fn from(value: u32) -> Self

      Converts to this type from the input type.
      source§

      impl From<usize> for PlaceIndex

      source§

      fn from(value: usize) -> Self

      Converts to this type from the input type.
      source§

      impl Hash for PlaceIndex

      source§

      fn hash<__H: Hasher>(&self, state: &mut __H)

      Feeds this value into the given Hasher. Read more
      1.3.0 · source§

      fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      source§

      impl Idx for PlaceIndex

      source§

      fn new(value: usize) -> Self

      source§

      fn index(self) -> usize

      §

      fn increment_by(&mut self, amount: usize)

      §

      fn plus(self, amount: usize) -> Self

      source§

      impl Ord for PlaceIndex

      source§

      fn cmp(&self, other: &PlaceIndex) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 · source§

      fn max(self, other: Self) -> Selfwhere Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 · source§

      fn min(self, other: Self) -> Selfwhere diff --git a/doc/flux_refineck/refine_tree/enum.AssumeInvariants.html b/doc/flux_refineck/refine_tree/enum.AssumeInvariants.html index c4ad95c301..3000a033e0 100644 --- a/doc/flux_refineck/refine_tree/enum.AssumeInvariants.html +++ b/doc/flux_refineck/refine_tree/enum.AssumeInvariants.html @@ -1,9 +1,9 @@ -AssumeInvariants in flux_refineck::refine_tree - Rust
      pub(crate) enum AssumeInvariants {
      +AssumeInvariants in flux_refineck::refine_tree - Rust
      pub(crate) enum AssumeInvariants {
           Yes {
               check_overflow: bool,
           },
           No,
      -}

      Variants§

      §

      Yes

      Fields

      §check_overflow: bool
      §

      No

      Implementations§

      source§

      impl AssumeInvariants

      source

      pub(crate) fn yes(check_overflow: bool) -> Self

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +}

      Variants§

      §

      Yes

      Fields

      §check_overflow: bool
      §

      No

      Implementations§

      source§

      impl AssumeInvariants

      source

      pub(crate) fn yes(check_overflow: bool) -> Self

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/refine_tree/enum.NodeKind.html b/doc/flux_refineck/refine_tree/enum.NodeKind.html index f016319dd1..f759ef1093 100644 --- a/doc/flux_refineck/refine_tree/enum.NodeKind.html +++ b/doc/flux_refineck/refine_tree/enum.NodeKind.html @@ -1,4 +1,4 @@ -NodeKind in flux_refineck::refine_tree - Rust
      enum NodeKind {
      +NodeKind in flux_refineck::refine_tree - Rust
      enum NodeKind {
           Conj,
           Comment(String),
           ForAll(Name, Sort),
      diff --git a/doc/flux_refineck/refine_tree/fn.children_to_fixpoint.html b/doc/flux_refineck/refine_tree/fn.children_to_fixpoint.html
      index 182a487fc6..9efd064d4f 100644
      --- a/doc/flux_refineck/refine_tree/fn.children_to_fixpoint.html
      +++ b/doc/flux_refineck/refine_tree/fn.children_to_fixpoint.html
      @@ -1,4 +1,4 @@
      -children_to_fixpoint in flux_refineck::refine_tree - Rust
      fn children_to_fixpoint(
      +children_to_fixpoint in flux_refineck::refine_tree - Rust
      fn children_to_fixpoint(
           cx: &mut FixpointCtxt<'_, '_, Tag>,
           children: &[NodePtr]
      -) -> Option<Constraint<TagIdx>>
      \ No newline at end of file +) -> Option<Constraint<FixpointTypes>>
      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/fn.stitch.html b/doc/flux_refineck/refine_tree/fn.stitch.html deleted file mode 100644 index 9895afac9e..0000000000 --- a/doc/flux_refineck/refine_tree/fn.stitch.html +++ /dev/null @@ -1,4 +0,0 @@ -stitch in flux_refineck::refine_tree - Rust
      fn stitch(
      -    bindings: Vec<(Name, Sort, Expr)>,
      -    c: Constraint<TagIdx>
      -) -> Constraint<TagIdx>
      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/index.html b/doc/flux_refineck/refine_tree/index.html index 0f8cf94c6e..92f3212280 100644 --- a/doc/flux_refineck/refine_tree/index.html +++ b/doc/flux_refineck/refine_tree/index.html @@ -1,7 +1,7 @@ -flux_refineck::refine_tree - Rust

      Modules

      Structs

      Enums

      Functions

      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/pretty/fn.bindings_chain.html b/doc/flux_refineck/refine_tree/pretty/fn.bindings_chain.html index c5a1189577..6ee76fed12 100644 --- a/doc/flux_refineck/refine_tree/pretty/fn.bindings_chain.html +++ b/doc/flux_refineck/refine_tree/pretty/fn.bindings_chain.html @@ -1 +1 @@ -bindings_chain in flux_refineck::refine_tree::pretty - Rust
      fn bindings_chain(ptr: &NodePtr) -> (Vec<(Name, Sort)>, Vec<NodePtr>)
      \ No newline at end of file +bindings_chain in flux_refineck::refine_tree::pretty - Rust
      fn bindings_chain(ptr: &NodePtr) -> (Vec<(Name, Sort)>, Vec<NodePtr>)
      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/pretty/fn.flatten_conjs.html b/doc/flux_refineck/refine_tree/pretty/fn.flatten_conjs.html index aceab42439..30ae884b06 100644 --- a/doc/flux_refineck/refine_tree/pretty/fn.flatten_conjs.html +++ b/doc/flux_refineck/refine_tree/pretty/fn.flatten_conjs.html @@ -1 +1 @@ -flatten_conjs in flux_refineck::refine_tree::pretty - Rust
      fn flatten_conjs(nodes: &[NodePtr]) -> Vec<NodePtr>
      \ No newline at end of file +flatten_conjs in flux_refineck::refine_tree::pretty - Rust
      fn flatten_conjs(nodes: &[NodePtr]) -> Vec<NodePtr>
      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/pretty/fn.fmt_children.html b/doc/flux_refineck/refine_tree/pretty/fn.fmt_children.html index 9910a5ea25..933800c69d 100644 --- a/doc/flux_refineck/refine_tree/pretty/fn.fmt_children.html +++ b/doc/flux_refineck/refine_tree/pretty/fn.fmt_children.html @@ -1,4 +1,4 @@ -fmt_children in flux_refineck::refine_tree::pretty - Rust
      fn fmt_children(
      +fmt_children in flux_refineck::refine_tree::pretty - Rust
      fn fmt_children(
           children: &[NodePtr],
           cx: &PPrintCx<'_>,
           f: &mut Formatter<'_>
      diff --git a/doc/flux_refineck/refine_tree/pretty/fn.preds_chain.html b/doc/flux_refineck/refine_tree/pretty/fn.preds_chain.html
      index 5c0c011e13..7419ba5b1b 100644
      --- a/doc/flux_refineck/refine_tree/pretty/fn.preds_chain.html
      +++ b/doc/flux_refineck/refine_tree/pretty/fn.preds_chain.html
      @@ -1 +1 @@
      -preds_chain in flux_refineck::refine_tree::pretty - Rust
      fn preds_chain(ptr: &NodePtr) -> (Vec<Expr>, Vec<NodePtr>)
      \ No newline at end of file +preds_chain in flux_refineck::refine_tree::pretty - Rust
      fn preds_chain(ptr: &NodePtr) -> (Vec<Expr>, Vec<NodePtr>)
      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/pretty/index.html b/doc/flux_refineck/refine_tree/pretty/index.html index 841ba82759..8b6a8b9447 100644 --- a/doc/flux_refineck/refine_tree/pretty/index.html +++ b/doc/flux_refineck/refine_tree/pretty/index.html @@ -1 +1 @@ -flux_refineck::refine_tree::pretty - Rust
      \ No newline at end of file +flux_refineck::refine_tree::pretty - Rust
      \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/sidebar-items.js b/doc/flux_refineck/refine_tree/sidebar-items.js index 870fccdd2c..2240ace60a 100644 --- a/doc/flux_refineck/refine_tree/sidebar-items.js +++ b/doc/flux_refineck/refine_tree/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["AssumeInvariants","NodeKind"],"fn":["children_to_fixpoint","stitch"],"mod":["pretty"],"struct":["Node","NodePtr","ParentsIter","RefineCtxt","RefineSubtree","RefineTree","Scope","Snapshot","Unpacker","WeakNodePtr"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["AssumeInvariants","NodeKind"],"fn":["children_to_fixpoint"],"mod":["pretty"],"struct":["Node","NodePtr","ParentsIter","RefineCtxt","RefineSubtree","RefineTree","Scope","Snapshot","Unpacker","WeakNodePtr"]}; \ No newline at end of file diff --git a/doc/flux_refineck/refine_tree/struct.Node.html b/doc/flux_refineck/refine_tree/struct.Node.html index aeee09bb7a..824e344588 100644 --- a/doc/flux_refineck/refine_tree/struct.Node.html +++ b/doc/flux_refineck/refine_tree/struct.Node.html @@ -1,4 +1,4 @@ -Node in flux_refineck::refine_tree - Rust
      struct Node {
      +Node in flux_refineck::refine_tree - Rust
      struct Node {
           kind: NodeKind,
           nbindings: usize,
           parent: Option<WeakNodePtr>,
      @@ -6,11 +6,11 @@
       }

      Fields§

      §kind: NodeKind§nbindings: usize

      Number of bindings between the root and this node’s parent, i.e., we have as an invariant that nbindings equals the number of NodeKind::ForAll nodes from the parent of this node to the root.

      -
      §parent: Option<WeakNodePtr>§children: Vec<NodePtr>

      Implementations§

      source§

      impl Node

      source

      fn simplify(&mut self)

      source

      fn is_leaf(&self) -> bool

      source

      fn replace_evars(&mut self, sol: &EVarSol)

      source

      fn to_fixpoint( +

      §parent: Option<WeakNodePtr>§children: Vec<NodePtr>

      Implementations§

      source§

      impl Node

      source

      fn simplify(&mut self)

      source

      fn is_leaf(&self) -> bool

      source

      fn replace_evars(&mut self, sol: &EVarSol)

      source

      fn to_fixpoint( &self, cx: &mut FixpointCtxt<'_, '_, Tag> -) -> Option<Constraint<TagIdx>>

      source

      fn is_forall(&self) -> bool

      Returns true if the node kind is ForAll.

      -
      source

      fn is_head(&self) -> bool

      Returns true if the node kind is Head.

      +) -> Option<Constraint<FixpointTypes>>

      source

      fn is_forall(&self) -> bool

      Returns true if the node kind is ForAll.

      +
      source

      fn is_head(&self) -> bool

      Returns true if the node kind is Head.

      Auto Trait Implementations§

      §

      impl !RefUnwindSafe for Node

      §

      impl !Send for Node

      §

      impl !Sync for Node

      §

      impl Unpin for Node

      §

      impl !UnwindSafe for Node

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_refineck/refine_tree/struct.NodePtr.html b/doc/flux_refineck/refine_tree/struct.NodePtr.html index ae883e42b4..c772eab00b 100644 --- a/doc/flux_refineck/refine_tree/struct.NodePtr.html +++ b/doc/flux_refineck/refine_tree/struct.NodePtr.html @@ -1,4 +1,4 @@ -NodePtr in flux_refineck::refine_tree - Rust
      struct NodePtr(Rc<RefCell<Node>>);

      Tuple Fields§

      §0: Rc<RefCell<Node>>

      Implementations§

      source§

      impl NodePtr

      source

      fn downgrade(this: &Self) -> WeakNodePtr

      source

      fn push_guard(&mut self, pred: impl Into<Expr>)

      source

      fn name_gen(&self) -> IndexGen<Name>

      source

      fn push_node(&mut self, kind: NodeKind) -> NodePtr

      source

      fn next_name_idx(&self) -> usize

      Trait Implementations§

      source§

      impl Clone for NodePtr

      source§

      fn clone(&self) -> NodePtr

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Deref for NodePtr

      §

      type Target = Rc<RefCell<Node>>

      The resulting type after dereferencing.
      source§

      fn deref(&self) -> &Self::Target

      Dereferences the value.
      source§

      impl Pretty for NodePtr

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      §

      impl !RefUnwindSafe for NodePtr

      §

      impl !Send for NodePtr

      §

      impl !Sync for NodePtr

      §

      impl Unpin for NodePtr

      §

      impl !UnwindSafe for NodePtr

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +NodePtr in flux_refineck::refine_tree - Rust
      struct NodePtr(Rc<RefCell<Node>>);

      Tuple Fields§

      §0: Rc<RefCell<Node>>

      Implementations§

      source§

      impl NodePtr

      source

      fn downgrade(this: &Self) -> WeakNodePtr

      source

      fn push_guard(&mut self, pred: impl Into<Expr>)

      source

      fn name_gen(&self) -> IndexGen<Name>

      source

      fn push_node(&mut self, kind: NodeKind) -> NodePtr

      source

      fn next_name_idx(&self) -> usize

      Trait Implementations§

      source§

      impl Clone for NodePtr

      source§

      fn clone(&self) -> NodePtr

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Deref for NodePtr

      §

      type Target = Rc<RefCell<Node>>

      The resulting type after dereferencing.
      source§

      fn deref(&self) -> &Self::Target

      Dereferences the value.
      source§

      impl Pretty for NodePtr

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      §

      impl !RefUnwindSafe for NodePtr

      §

      impl !Send for NodePtr

      §

      impl !Sync for NodePtr

      §

      impl Unpin for NodePtr

      §

      impl !UnwindSafe for NodePtr

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/refine_tree/struct.ParentsIter.html b/doc/flux_refineck/refine_tree/struct.ParentsIter.html index 6c9b4ad398..aac0dc7b33 100644 --- a/doc/flux_refineck/refine_tree/struct.ParentsIter.html +++ b/doc/flux_refineck/refine_tree/struct.ParentsIter.html @@ -1,6 +1,6 @@ -ParentsIter in flux_refineck::refine_tree - Rust
      struct ParentsIter {
      +ParentsIter in flux_refineck::refine_tree - Rust
      struct ParentsIter {
           ptr: Option<NodePtr>,
      -}

      Fields§

      §ptr: Option<NodePtr>

      Implementations§

      Trait Implementations§

      source§

      impl Iterator for ParentsIter

      §

      type Item = NodePtr

      The type of the elements being iterated over.
      source§

      fn next(&mut self) -> Option<Self::Item>

      Advances the iterator and returns the next value. Read more
      source§

      fn next_chunk<const N: usize>( +}

      Fields§

      §ptr: Option<NodePtr>

      Implementations§

      Trait Implementations§

      source§

      impl Iterator for ParentsIter

      §

      type Item = NodePtr

      The type of the elements being iterated over.
      source§

      fn next(&mut self) -> Option<Self::Item>

      Advances the iterator and returns the next value. Read more
      source§

      fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

      🔬This is a nightly-only experimental API. (iter_next_chunk)
      Advances the iterator and returns an array containing the next N values. Read more
      1.0.0 · source§

      fn size_hint(&self) -> (usize, Option<usize>)

      Returns the bounds on the remaining length of the iterator. Read more
      1.0.0 · source§

      fn count(self) -> usizewhere diff --git a/doc/flux_refineck/refine_tree/struct.RefineCtxt.html b/doc/flux_refineck/refine_tree/struct.RefineCtxt.html index 432f79975b..88cefaed90 100644 --- a/doc/flux_refineck/refine_tree/struct.RefineCtxt.html +++ b/doc/flux_refineck/refine_tree/struct.RefineCtxt.html @@ -1,4 +1,4 @@ -RefineCtxt in flux_refineck::refine_tree - Rust
      pub(crate) struct RefineCtxt<'a> {
      +RefineCtxt in flux_refineck::refine_tree - Rust
      pub(crate) struct RefineCtxt<'a> {
           tree: &'a mut RefineTree,
           ptr: NodePtr,
       }
      Expand description

      A refinement context tracks all the refinement parameters and predicates @@ -13,26 +13,26 @@ where a1 is a freshly generated name for the existential variable in the refinement of y.

      More specifically, a RefineCtxt represents a path from the root to some internal node in a refinement tree.

      -

      Fields§

      §tree: &'a mut RefineTree§ptr: NodePtr

      Implementations§

      source§

      impl<'rcx> RefineCtxt<'rcx>

      source

      pub(crate) fn as_subtree(&mut self) -> RefineSubtree<'_>

      source

      pub fn subtree_at(&mut self, snapshot: &Snapshot) -> Option<RefineSubtree<'_>>

      source

      pub(crate) fn snapshot(&self) -> Snapshot

      source

      pub(crate) fn branch(&mut self) -> RefineCtxt<'_>

      source

      pub(crate) fn scope(&self) -> Scope

      source

      pub(crate) fn push_comment(&mut self, comment: impl ToString) -> RefineCtxt<'_>

      source

      pub(crate) fn define_var(&mut self, sort: &Sort) -> Name

      Defines a fresh refinement variable with the given sort. It returns the freshly generated +

      Fields§

      §tree: &'a mut RefineTree§ptr: NodePtr

      Implementations§

      source§

      impl<'rcx> RefineCtxt<'rcx>

      source

      pub(crate) fn as_subtree(&mut self) -> RefineSubtree<'_>

      source

      pub fn subtree_at(&mut self, snapshot: &Snapshot) -> Option<RefineSubtree<'_>>

      source

      pub(crate) fn snapshot(&self) -> Snapshot

      source

      pub(crate) fn branch(&mut self) -> RefineCtxt<'_>

      source

      pub(crate) fn scope(&self) -> Scope

      source

      pub(crate) fn push_comment(&mut self, comment: impl ToString) -> RefineCtxt<'_>

      source

      pub(crate) fn define_var(&mut self, sort: &Sort) -> Name

      Defines a fresh refinement variable with the given sort. It returns the freshly generated name for the variable.

      -
      source

      pub(crate) fn define_vars(&mut self, sort: &Sort) -> Expr

      Given a sort that may contain nested tuples, it destructs the tuples recursively, generating +

      source

      pub(crate) fn define_vars(&mut self, sort: &Sort) -> Expr

      Given a sort that may contain nested tuples, it destructs the tuples recursively, generating multiple fresh variables and returning the “eta-expanded” tuple of fresh variables. This is in contrast to generating a single fresh variable of tuple sort.

      For example, given the sort (int, (bool, int)) it returns (a0, (a1, a2)) for fresh variables a0: int, a1: bool, and a2: int.

      -
      source

      pub(crate) fn assume_pred(&mut self, pred: impl Into<Expr>)

      source

      pub(crate) fn check_pred(&mut self, pred: impl Into<Expr>, tag: Tag)

      source

      pub(crate) fn check_impl( +

      source

      pub(crate) fn assume_pred(&mut self, pred: impl Into<Expr>)

      source

      pub(crate) fn check_pred(&mut self, pred: impl Into<Expr>, tag: Tag)

      source

      pub(crate) fn check_impl( &mut self, pred1: impl Into<Expr>, pred2: impl Into<Expr>, tag: Tag -)

      source

      pub(crate) fn unpack( +)

      source

      pub(crate) fn unpack( &mut self, ty: &Ty, assume_invariants: AssumeInvariants -) -> Ty

      source

      pub(crate) fn unpacker( +) -> Ty

      source

      pub(crate) fn unpacker( &mut self, assume_invariants: AssumeInvariants -) -> Unpacker<'_, 'rcx>

      source

      pub(crate) fn assume_invariants(&mut self, ty: &Ty, overflow_checking: bool)

      source

      pub(crate) fn replace_evars(&mut self, evars: &EVarSol)

      Trait Implementations§

      source§

      impl Debug for RefineCtxt<'_>

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Pretty for RefineCtxt<'_>

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      §

      impl<'a> !RefUnwindSafe for RefineCtxt<'a>

      §

      impl<'a> !Send for RefineCtxt<'a>

      §

      impl<'a> !Sync for RefineCtxt<'a>

      §

      impl<'a> Unpin for RefineCtxt<'a>

      §

      impl<'a> !UnwindSafe for RefineCtxt<'a>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +) -> Unpacker<'_, 'rcx>

      source

      pub(crate) fn assume_invariants(&mut self, ty: &Ty, overflow_checking: bool)

      source

      pub(crate) fn replace_evars(&mut self, evars: &EVarSol)

      Trait Implementations§

      source§

      impl Debug for RefineCtxt<'_>

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Pretty for RefineCtxt<'_>

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      §

      impl<'a> !RefUnwindSafe for RefineCtxt<'a>

      §

      impl<'a> !Send for RefineCtxt<'a>

      §

      impl<'a> !Sync for RefineCtxt<'a>

      §

      impl<'a> Unpin for RefineCtxt<'a>

      §

      impl<'a> !UnwindSafe for RefineCtxt<'a>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/refine_tree/struct.RefineSubtree.html b/doc/flux_refineck/refine_tree/struct.RefineSubtree.html index 28b8d1c7e2..5f4b95a143 100644 --- a/doc/flux_refineck/refine_tree/struct.RefineSubtree.html +++ b/doc/flux_refineck/refine_tree/struct.RefineSubtree.html @@ -1,13 +1,13 @@ -RefineSubtree in flux_refineck::refine_tree - Rust
      pub(crate) struct RefineSubtree<'a> {
      +RefineSubtree in flux_refineck::refine_tree - Rust
      pub(crate) struct RefineSubtree<'a> {
           tree: &'a mut RefineTree,
           root: NodePtr,
       }
      Expand description

      A reference to a subtree rooted at a particular node in a refinement tree.

      Fields§

      §tree: &'a mut RefineTree

      We keep a reference to the underlying RefineTree to prove statically there’s a single writer.

      -
      §root: NodePtr

      Implementations§

      source§

      impl<'a> RefineSubtree<'a>

      source

      pub(crate) fn refine_ctxt_at_root(&mut self) -> RefineCtxt<'_>

      source

      pub(crate) fn refine_ctxt_at( +

      §root: NodePtr

      Implementations§

      source§

      impl<'a> RefineSubtree<'a>

      source

      pub(crate) fn refine_ctxt_at_root(&mut self) -> RefineCtxt<'_>

      source

      pub(crate) fn refine_ctxt_at( &mut self, snapshot: &Snapshot -) -> Option<RefineCtxt<'_>>

      source

      pub(crate) fn clear_children(&mut self, snapshot: &Snapshot)

      Trait Implementations§

      source§

      impl Debug for RefineSubtree<'_>

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Pretty for RefineSubtree<'_>

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      §

      impl<'a> !RefUnwindSafe for RefineSubtree<'a>

      §

      impl<'a> !Send for RefineSubtree<'a>

      §

      impl<'a> !Sync for RefineSubtree<'a>

      §

      impl<'a> Unpin for RefineSubtree<'a>

      §

      impl<'a> !UnwindSafe for RefineSubtree<'a>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +) -> Option<RefineCtxt<'_>>

      source

      pub(crate) fn clear_children(&mut self, snapshot: &Snapshot)

      Trait Implementations§

      source§

      impl Debug for RefineSubtree<'_>

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Pretty for RefineSubtree<'_>

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      §

      impl<'a> !RefUnwindSafe for RefineSubtree<'a>

      §

      impl<'a> !Send for RefineSubtree<'a>

      §

      impl<'a> !Sync for RefineSubtree<'a>

      §

      impl<'a> Unpin for RefineSubtree<'a>

      §

      impl<'a> !UnwindSafe for RefineSubtree<'a>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/refine_tree/struct.RefineTree.html b/doc/flux_refineck/refine_tree/struct.RefineTree.html index 7aa6606fc0..1535d6e062 100644 --- a/doc/flux_refineck/refine_tree/struct.RefineTree.html +++ b/doc/flux_refineck/refine_tree/struct.RefineTree.html @@ -1,4 +1,4 @@ -RefineTree in flux_refineck::refine_tree - Rust
      pub(crate) struct RefineTree {
      +RefineTree in flux_refineck::refine_tree - Rust
      pub(crate) struct RefineTree {
           root: NodePtr,
       }
      Expand description

      A refinement tree tracks the “tree-like structure” of refinement variables and predicates generated during type-checking. After type-checking, the tree can be converted into a fixpoint @@ -12,10 +12,10 @@ statically that the RefineTree is the single owner of the data and require a mutable reference to it for all mutations, i.e., we could in theory replace the RefCell with an UnsafeCell (or a GhostCell).

      -

      Fields§

      §root: NodePtr

      Implementations§

      source§

      impl RefineTree

      source

      pub(crate) fn new() -> RefineTree

      source

      pub(crate) fn as_subtree(&mut self) -> RefineSubtree<'_>

      source

      pub(crate) fn simplify(&mut self)

      source

      pub(crate) fn into_fixpoint( +

      Fields§

      §root: NodePtr

      Implementations§

      source§

      impl RefineTree

      source

      pub(crate) fn new() -> RefineTree

      source

      pub(crate) fn as_subtree(&mut self) -> RefineSubtree<'_>

      source

      pub(crate) fn simplify(&mut self)

      source

      pub(crate) fn into_fixpoint( self, cx: &mut FixpointCtxt<'_, '_, Tag> -) -> Constraint<TagIdx>

      source

      pub(crate) fn refine_ctxt_at_root(&mut self) -> RefineCtxt<'_>

      Trait Implementations§

      source§

      impl Debug for RefineTree

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Pretty for RefineTree

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +) -> Constraint<FixpointTypes>

      source

      pub(crate) fn refine_ctxt_at_root(&mut self) -> RefineCtxt<'_>

      Trait Implementations§

      source§

      impl Debug for RefineTree

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Pretty for RefineTree

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/refine_tree/struct.Scope.html b/doc/flux_refineck/refine_tree/struct.Scope.html index d23553c35a..3c7f3852d7 100644 --- a/doc/flux_refineck/refine_tree/struct.Scope.html +++ b/doc/flux_refineck/refine_tree/struct.Scope.html @@ -1,10 +1,10 @@ -Scope in flux_refineck::refine_tree - Rust
      pub(crate) struct Scope {
      +Scope in flux_refineck::refine_tree - Rust
      pub(crate) struct Scope {
           bindings: IndexVec<Name, Sort>,
       }
      Expand description

      A ist of refinement variables and their sorts.

      -

      Fields§

      §bindings: IndexVec<Name, Sort>

      Implementations§

      source§

      impl Scope

      source

      pub(crate) fn iter(&self) -> impl Iterator<Item = (Name, Sort)> + '_

      source

      pub(crate) fn has_free_vars<T: TypeFoldable>(&self, t: &T) -> bool

      Whether t has any free variables not in this scope

      -
      source

      fn contains_all(&self, iter: impl IntoIterator<Item = Name>) -> bool

      source

      fn contains(&self, name: Name) -> bool

      Trait Implementations§

      source§

      impl Debug for Scope

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Index<Name> for Scope

      §

      type Output = Sort

      The returned type after indexing.
      source§

      fn index(&self, name: Name) -> &Self::Output

      Performs the indexing (container[index]) operation. Read more
      source§

      impl PartialEq for Scope

      source§

      fn eq(&self, other: &Scope) -> bool

      This method tests for self and other values to be equal, and is used +

      Fields§

      §bindings: IndexVec<Name, Sort>

      Implementations§

      source§

      impl Scope

      source

      pub(crate) fn iter(&self) -> impl Iterator<Item = (Name, Sort)> + '_

      source

      pub(crate) fn has_free_vars<T: TypeFoldable>(&self, t: &T) -> bool

      Whether t has any free variables not in this scope

      +
      source

      fn contains_all(&self, iter: impl IntoIterator<Item = Name>) -> bool

      source

      fn contains(&self, name: Name) -> bool

      Trait Implementations§

      source§

      impl Debug for Scope

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl Index<Name> for Scope

      §

      type Output = Sort

      The returned type after indexing.
      source§

      fn index(&self, name: Name) -> &Self::Output

      Performs the indexing (container[index]) operation. Read more
      source§

      impl PartialEq for Scope

      source§

      fn eq(&self, other: &Scope) -> bool

      This method tests for self and other values to be equal, and is used by ==.
      1.0.0 · source§

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
      source§

      impl Pretty for Scope

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      source§

      impl Eq for Scope

      source§

      impl StructuralEq for Scope

      source§

      impl StructuralPartialEq for Scope

      Auto Trait Implementations§

      §

      impl RefUnwindSafe for Scope

      §

      impl Send for Scope

      §

      impl Sync for Scope

      §

      impl Unpin for Scope

      §

      impl UnwindSafe for Scope

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

      source§

      impl Pretty for Scope

      source§

      fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      source§

      impl Eq for Scope

      source§

      impl StructuralEq for Scope

      source§

      impl StructuralPartialEq for Scope

      Auto Trait Implementations§

      §

      impl RefUnwindSafe for Scope

      §

      impl Send for Scope

      §

      impl Sync for Scope

      §

      impl Unpin for Scope

      §

      impl UnwindSafe for Scope

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      §

      impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/flux_refineck/refine_tree/struct.Snapshot.html b/doc/flux_refineck/refine_tree/struct.Snapshot.html index bb43e39b4b..18debd405d 100644 --- a/doc/flux_refineck/refine_tree/struct.Snapshot.html +++ b/doc/flux_refineck/refine_tree/struct.Snapshot.html @@ -1,9 +1,9 @@ -Snapshot in flux_refineck::refine_tree - Rust
      pub(crate) struct Snapshot {
      +Snapshot in flux_refineck::refine_tree - Rust
      pub(crate) struct Snapshot {
           ptr: WeakNodePtr,
       }
      Expand description

      A snapshot of a RefineCtxt at a particular point during type-checking. Alternatively, a snapshot correponds to a reference to a node in a refinement tree. Snapshots may become invalid if the underlying node is cleared.

      -

      Fields§

      §ptr: WeakNodePtr

      Implementations§

      source§

      impl Snapshot

      source

      pub(crate) fn scope(&self) -> Option<Scope>

      Returns the scope at the snapshot if it is still valid or None otherwise.

      +

      Fields§

      §ptr: WeakNodePtr

      Implementations§

      source§

      impl Snapshot

      source

      pub(crate) fn scope(&self) -> Option<Scope>

      Returns the scope at the snapshot if it is still valid or None otherwise.

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_refineck/refine_tree/struct.Unpacker.html b/doc/flux_refineck/refine_tree/struct.Unpacker.html index 16daf7d0d9..c7395a5c79 100644 --- a/doc/flux_refineck/refine_tree/struct.Unpacker.html +++ b/doc/flux_refineck/refine_tree/struct.Unpacker.html @@ -1,14 +1,14 @@ -Unpacker in flux_refineck::refine_tree - Rust
      pub(crate) struct Unpacker<'a, 'rcx> {
      +Unpacker in flux_refineck::refine_tree - Rust
      pub(crate) struct Unpacker<'a, 'rcx> {
           rcx: &'a mut RefineCtxt<'rcx>,
           in_mut_ref: bool,
           unpack_inside_mut_ref: bool,
           shallow: bool,
           unpack_exists: bool,
           assume_invariants: AssumeInvariants,
      -}

      Fields§

      §rcx: &'a mut RefineCtxt<'rcx>§in_mut_ref: bool§unpack_inside_mut_ref: bool§shallow: bool§unpack_exists: bool§assume_invariants: AssumeInvariants

      Implementations§

      source§

      impl<'a, 'rcx> Unpacker<'a, 'rcx>

      source

      fn new( +}

      Fields§

      §rcx: &'a mut RefineCtxt<'rcx>§in_mut_ref: bool§unpack_inside_mut_ref: bool§shallow: bool§unpack_exists: bool§assume_invariants: AssumeInvariants

      Implementations§

      source§

      impl<'a, 'rcx> Unpacker<'a, 'rcx>

      source

      fn new( rcx: &'a mut RefineCtxt<'rcx>, assume_invariants: AssumeInvariants -) -> Self

      source

      pub(crate) fn unpack_inside_mut_ref(self, unpack_inside_mut_ref: bool) -> Self

      source

      pub(crate) fn shallow(self, shallow: bool) -> Self

      source

      pub(crate) fn unpack_exists(self, unpack_exists: bool) -> Self

      source

      pub(crate) fn unpack(self, ty: &Ty) -> Ty

      Trait Implementations§

      source§

      impl TypeFolder for Unpacker<'_, '_>

      source§

      fn fold_ty(&mut self, ty: &Ty) -> Ty

      source§

      fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

      §

      fn fold_binder<T>(&mut self, t: &Binder<T>) -> Binder<T>where +) -> Self

      source

      pub(crate) fn unpack_inside_mut_ref(self, unpack_inside_mut_ref: bool) -> Self

      source

      pub(crate) fn shallow(self, shallow: bool) -> Self

      source

      pub(crate) fn unpack_exists(self, unpack_exists: bool) -> Self

      source

      pub(crate) fn unpack(self, ty: &Ty) -> Ty

      Trait Implementations§

      source§

      impl TypeFolder for Unpacker<'_, '_>

      source§

      fn fold_ty(&mut self, ty: &Ty) -> Ty

      source§

      fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

      §

      fn fold_binder<T>(&mut self, t: &Binder<T>) -> Binder<T>where T: TypeFoldable,

      §

      fn fold_sort(&mut self, sort: &Sort) -> Sort

      §

      fn fold_region(&mut self, re: &Region) -> Region

      §

      fn fold_expr(&mut self, expr: &Interned<ExprS>) -> Interned<ExprS>

      Auto Trait Implementations§

      §

      impl<'a, 'rcx> !RefUnwindSafe for Unpacker<'a, 'rcx>

      §

      impl<'a, 'rcx> !Send for Unpacker<'a, 'rcx>

      §

      impl<'a, 'rcx> !Sync for Unpacker<'a, 'rcx>

      §

      impl<'a, 'rcx> Unpin for Unpacker<'a, 'rcx>

      §

      impl<'a, 'rcx> !UnwindSafe for Unpacker<'a, 'rcx>

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere diff --git a/doc/flux_refineck/refine_tree/struct.WeakNodePtr.html b/doc/flux_refineck/refine_tree/struct.WeakNodePtr.html index 91e5d578f5..6686fafc5a 100644 --- a/doc/flux_refineck/refine_tree/struct.WeakNodePtr.html +++ b/doc/flux_refineck/refine_tree/struct.WeakNodePtr.html @@ -1,4 +1,4 @@ -WeakNodePtr in flux_refineck::refine_tree - Rust
      struct WeakNodePtr(Weak<RefCell<Node>>);

      Tuple Fields§

      §0: Weak<RefCell<Node>>

      Implementations§

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +WeakNodePtr in flux_refineck::refine_tree - Rust
      struct WeakNodePtr(Weak<RefCell<Node>>);

      Tuple Fields§

      §0: Weak<RefCell<Node>>

      Implementations§

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/doc/flux_refineck/type_env/projection/enum.LocKind.html b/doc/flux_refineck/type_env/projection/enum.LocKind.html index 8d8e274a83..bb483cd865 100644 --- a/doc/flux_refineck/type_env/projection/enum.LocKind.html +++ b/doc/flux_refineck/type_env/projection/enum.LocKind.html @@ -2,9 +2,9 @@ Local, Box(Ty), Universal, -}

      Variants§

      §

      Local

      §

      Box(Ty)

      §

      Universal

      Trait Implementations§

      source§

      impl Clone for LocKind

      source§

      fn clone(&self) -> LocKind

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Debug for LocKind

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl PartialEq for LocKind

      source§

      fn eq(&self, other: &LocKind) -> bool

      This method tests for self and other values to be equal, and is used +}

      Variants§

      §

      Local

      §

      Box(Ty)

      §

      Universal

      Trait Implementations§

      source§

      impl Clone for LocKind

      source§

      fn clone(&self) -> LocKind

      Returns a copy of the value. Read more
      1.0.0 · source§

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      source§

      impl Debug for LocKind

      source§

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source§

      impl PartialEq for LocKind

      source§

      fn eq(&self, other: &LocKind) -> bool

      This method tests for self and other values to be equal, and is used by ==.
      1.0.0 · source§

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
      source§

      impl Pretty for LocKind

      source§

      fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      source§

      impl Eq for LocKind

      source§

      impl StructuralEq for LocKind

      source§

      impl StructuralPartialEq for LocKind

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

      source§

      impl Pretty for LocKind

      source§

      fn fmt(&self, _cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

      §

      fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

      source§

      impl Eq for LocKind

      source§

      impl StructuralEq for LocKind

      source§

      impl StructuralPartialEq for LocKind

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for Twhere T: 'static + ?Sized,

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for Twhere T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for Twhere T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      §

      impl<Q, K> Equivalent<K> for Qwhere diff --git a/doc/search-index.js b/doc/search-index.js index 621169d9ec..d3d00e2bc0 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -3,15 +3,15 @@ var searchIndex = JSON.parse('{\ "flux_bin":{"doc":"","t":"ARRRFFFFFF","n":["utils","EXIT_ERR","FLUX_SYSROOT","LIB_PATH","default_sysroot_dir","get_flux_driver_path","get_rust_toolchain","get_rustc_driver_lib_path","prepend_path_to_env_var","sysroot_dir"],"q":[[0,"flux_bin"],[1,"flux_bin::utils"],[10,"std::path"],[11,"anyhow"],[12,"alloc::string"],[13,"std::ffi::os_str"]],"d":["","","","","Return the default sysroot","","","Path from where to load the rustc-driver library from","Prepends the path so that it’s the first checked.","The path of the flux sysroot lib containing precompiled …"],"i":[0,0,0,0,0,0,0,0,0,0],"f":[0,0,0,0,[[],1],[[],[[2,[1]]]],[[],[[2,[3]]]],[4,[[2,[1]]]],[[4,1],[[2,[5]]]],[[],1]],"c":[],"p":[[3,"PathBuf",10],[6,"Result",11],[3,"String",12],[15,"str"],[3,"OsString",13]],"b":[]},\ "flux_common":{"doc":"","t":"OOOOOOOOOAOAAAAAAOORFFFFFDLLLLLLLMLLLLLLLLLLLLLLLLLLLLOOFFOOOOOOOFDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMMLLLLLLLLLLLLLMLLIDDMMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKLLMLLLLLLLLLLLLLLLLLLIDDLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRFF","n":["_basic_block_start","_check_fn_span","_refine_goto","_refine_mode_span","_shape_goto_enter","_shape_goto_exit","_shape_mode_span","_statement","_terminator","bug","bug","cache","dbg","format","index","iter","mir_storage","span_bug","tracked_span_bug","TRACKED_SPAN","bug_fmt","opt_span_bug_fmt","span_bug_fmt","track_span","tracked_span_bug_fmt","QueryCache","borrow","borrow_mut","collect_and_apply","default","deref","deref_mut","drop","entries","filterable","from","from","from_cycle_error","init","insert","into","into_query_param","is_safe","load","new","no_cache_err","path","save","to_predicate","to_result","try_from","try_into","type_id","vzip","basic_block_start","check_fn_span","dump_base_name","dump_item_info","refine_goto","refine_mode_span","shape_goto_enter","shape_goto_exit","shape_mode_span","statement","terminator","writer_for_item","PadAdapter","PadAdapterState","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","init","init","inner","into","into","into_query_param","into_query_param","on_newline","state","to_owned","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","width","wrap_fmt","write_str","Idx","IndexGen","IndexVec","_marker","_marker","as_any","borrow","borrow","borrow_mut","borrow_mut","clone_into","collect_and_apply","collect_and_apply","count","default","deref","deref","deref_mut","deref_mut","drop","drop","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","fingerprint_style","fresh","from","from","from","from","from_cycle_error","from_cycle_error","increment_by","index","init","init","into","into","into_query_param","into_query_param","is_suggestable","make_suggestable","new","new","plus","raw","recover","skip","skipping","to_debug_str","to_fingerprint","to_owned","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IterExt","MapTakeWhile","ReportResiduals","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","f","f","filterable","filterable","fold","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_iter","into_iter","into_query_param","into_query_param","iter","iter","map_take_while","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","next","next","to_predicate","to_predicate","to_result","to_result","try_collect_exhaust","try_collect_vec","try_fold","try_for_each_exhaust","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","SHARED_STATE","retrieve_mir_body","store_mir_body"],"q":[[0,"flux_common"],[19,"flux_common::bug"],[25,"flux_common::cache"],[54,"flux_common::dbg"],[66,"flux_common::format"],[119,"flux_common::index"],[188,"flux_common::iter"],[269,"flux_common::mir_storage"],[272,"core::fmt"],[273,"core::option"],[274,"core::panic::location"],[275,"rustc_error_messages"],[276,"core::convert"],[277,"rustc_span::span_encoding"],[278,"core::ops::function"],[279,"core::iter::traits::iterator"],[280,"icu_provider_adapters::filter"],[281,"core::result"],[282,"rustc_query_system::query::job"],[283,"rustc_span"],[284,"alloc::string"],[285,"std::io::error"],[286,"std::path"],[287,"rustc_middle::ty::context"],[288,"core::any"],[289,"rustc_span::def_id"],[290,"core::convert"],[291,"rustc_middle::arena"],[292,"core::iter::traits::collect"],[293,"rustc_hir"],[294,"core::fmt"],[295,"rustc_query_system::dep_graph::dep_node"],[296,"rustc_data_structures::fingerprint"],[297,"core::ops::function"],[298,"core::marker"],[299,"core::iter::traits::collect"],[300,"core::ops::try_trait"],[301,"rustc_span::def_id"]],"d":["","","","","","","","","","","","","This file contains functions and macros to log debugging …","","","","This module allows storing mir bodies with borrowck facts …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Represents some newtyped usize wrapper.","A generator of fresh indices.","An owned contiguous collection of Ts, indexed by I rather …","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","Generate a fresh index of type I.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Skip n indices","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Safety","Safety"],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,34,34,36,34,36,34,34,34,36,34,36,34,36,34,36,34,36,34,36,36,34,34,36,34,36,34,36,36,34,36,34,34,36,34,36,34,36,34,36,34,36,34,36,34,36,34,36,36,36,0,0,0,40,55,55,40,55,40,55,55,40,55,40,40,40,55,40,55,40,55,55,55,55,55,55,55,40,55,55,40,40,40,55,55,40,55,41,41,40,55,40,55,40,55,55,55,41,40,41,55,55,40,40,55,55,55,40,55,40,55,40,55,40,55,40,55,40,55,0,0,0,45,47,45,47,45,47,45,47,45,47,45,47,45,47,45,47,45,45,45,47,47,45,47,45,47,45,47,45,47,45,47,45,47,56,45,45,45,45,45,45,45,45,45,45,45,45,45,47,47,47,47,47,47,47,47,47,47,47,47,47,45,47,45,47,45,47,56,56,45,56,45,47,45,47,45,47,45,47,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[[[3,[-1]],1,4],2,[[6,[5]]]],[[-1,1],2,[[6,[5]]]],[[7,-1],-2,8,[]],[1,2],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,9,8,[]],[[],10],[11,-1,[]],[11,-1,[]],[11,12],0,[[-1,13],[[14,[-2]]],[],[]],[-1,-1,[]],[[[15,[-1]]],-1,[]],[[-1,[17,[16]],18],-2,[],[]],[[],11],[[10,19,20],12],[-1,-2,[],[]],[-1,-2,[],[]],[[10,19,20],21],[[],10],[[],10],[[],22],[[],[[15,[23,22]]]],[10,[[15,[12,22]]]],[[-1,24],-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,25,[]],[-1,-2,[],[]],0,0,[[24,26,-1],19,[[27,[13]]]],[[24,-1,-2,-3],[[28,[12]]],[[6,[26]]],[[27,[13]]],29],0,0,0,0,0,0,0,[[24,26,-1],[[28,[[0,[30]]]]],[[27,[13]]]],0,0,[[31,-1],[[17,[-2]]],32,[]],[[33,-1],[[17,[-2]]],32,[]],[[-1,33],-2,[],[]],[[-1,31],-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[34,34],[[-1,-2],12,[],[]],[[-1,-2],-3,9,8,[]],[[-1,-2],-3,9,8,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,12],[11,12],[[-1,13],[[14,[-2]]],[],[]],[[-1,13],[[14,[-2]]],[],[]],[[[15,[-1]]],-1,[]],[-1,-1,[]],[[[15,[-1]]],-1,[]],[-1,-1,[]],[[-1,[17,[16]],18],-2,[],[]],[[-1,[17,[16]],18],-2,[],[]],[[],11],[[],11],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[[-1,24],-2,[],[]],[[-1,24],-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,25,[]],[-1,25,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,35],[[36,[-1]]],37],[[[36,[-1]],13],38,37],0,0,0,0,0,[-1,39,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],12,[],[]],[[-1,-2],-3,9,8,[]],[[-1,-2],-3,9,8,[]],0,[[],[[40,[-1]]],41],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,12],[11,12],[[-1,39],21,[]],[[-1,-2],21,[],[]],[[-1,-2],21,[],[]],[[-1,-2],21,[],[]],[[-1,-2],21,[],[]],[[-1,-2],21,[],[]],[[-1,13],[[14,[-2]]],[],[]],[[-1,13],[[14,[-2]]],[],[]],[[],42],[[[40,[-1]]],-1,41],[[[15,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[15,[-1]]],-1,[]],[[-1,[17,[16]],18],-2,[],[]],[[-1,[17,[16]],18],-2,[],[]],[[-1,11],12,[]],[-1,11,[]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,24,21],21,[]],[[-1,24,21],[[3,[-2]]],[],[]],[11,-1,[]],[[],[[40,[-1]]],41],[[-1,11],-1,[]],0,[[-1,43],[[3,[-2]]],[],[]],[[[40,[-1]],11],12,41],[11,[[40,[-1]]],41],[[-1,-2],19,[],[]],[[-1,-2],44,[],[]],[-1,-2,[],[]],[[-1,24],-2,[],[]],[[-1,24],-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,25,[]],[-1,25,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,9,8,[]],[[-1,-2],-3,9,8,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,-1,[]],[11,12],[11,12],0,0,[[-1,13],[[14,[-2]]],[],[]],[[-1,13],[[14,[-2]]],[],[]],[[[45,[-1,-2]],-3,-4],-3,9,46,[],46],[[[15,[-1]]],-1,[]],[-1,-1,[]],[[[15,[-1]]],-1,[]],[-1,-1,[]],[[-1,[17,[16]],18],-2,[],[]],[[-1,[17,[16]],18],-2,[],[]],[[],11],[[],11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[-1,-2],[[47,[-1,-2]]],48,46],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12]]],[],[],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13]]],[],[],[],[],[],[],[],[],[],[],[],[],[]],[-1,12,[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11]]],[],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10]]],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6]]],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5]]],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8]]],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4]]],[],[],[],[]],[-1,[[12,[-2,-3]]],[],[],[]],[-1,[[12,[-2]]],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7]]],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9]]],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5]]],[],[],[],[],[]],[-1,[[12,[-2]]],[],[]],[-1,12,[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13]]],[],[],[],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9]]],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7]]],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4]]],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6]]],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11]]],[],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10]]],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12]]],[],[],[],[],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3,-4,-5,-6,-7,-8]]],[],[],[],[],[],[],[],[]],[-1,[[12,[-2,-3]]],[],[],[]],[[[45,[-1,-2]]],3,9,46],[[[47,[-1,-2]]],3,[9,48],46],[[-1,24],-2,[],[]],[[-1,24],-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-3,18]]],[9,49],[],[[50,[-2]]]],[-1,[[15,[[51,[-2]],-3]]],[49,9],[],[]],[[[45,[-1,-2]],-3,-4],-5,9,46,[],46,52],[[-1,-2],[[15,[12,18]]],[9,49],46],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,25,[]],[-1,25,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[24,53],54],[[24,53,54],12]],"c":[],"p":[[3,"Arguments",272],[15,"never"],[4,"Option",273],[3,"Location",274],[3,"MultiSpan",275],[8,"Into",276],[3,"Span",277],[8,"FnOnce",278],[8,"Iterator",279],[3,"QueryCache",25],[15,"usize"],[15,"tuple"],[15,"str"],[3,"RequestFilterDataProvider",280],[4,"Result",281],[3,"QueryInfo",282],[15,"slice"],[3,"ErrorGuaranteed",283],[3,"String",284],[15,"u64"],[15,"bool"],[3,"Error",285],[3,"PathBuf",286],[3,"TyCtxt",287],[3,"TypeId",288],[3,"DefId",289],[8,"AsRef",276],[6,"Result",285],[8,"Debug",272],[8,"Write",290],[3,"Arena",291],[8,"IntoIterator",292],[3,"Arena",293],[3,"PadAdapterState",66],[15,"u32"],[3,"PadAdapter",66],[8,"Write",272],[6,"Result",272],[8,"Any",288],[3,"IndexGen",119],[8,"Idx",119],[4,"FingerprintStyle",294],[3,"DepNode",295],[3,"Fingerprint",296],[3,"ReportResiduals",188],[8,"FnMut",278],[3,"MapTakeWhile",188],[8,"Clone",297],[8,"Sized",298],[8,"FromIterator",292],[3,"Vec",299],[8,"Try",300],[3,"LocalDefId",289],[3,"BodyWithBorrowckFacts",301],[3,"IndexVec",119],[8,"IterExt",188]],"b":[]},\ "flux_config":{"doc":"","t":"NNHHHDDNRRNNENNENNLLLLLLLLLLLLLLLLLLMMFFMFMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFMFMFMFMFMFMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLFMFMLFMMLLLLLLLLLLLLLLLLLLLL","n":["Array","Boolean","CONFIG","CONFIG_FILE","CONFIG_PATH","Config","CrateConfig","Datetime","FLUX_CONFIG_ENV_VAR","FLUX_ENV_VAR_PREFIX","Float","Integer","PointerWidth","String","Table","Value","W32","W64","as_array","as_array_mut","as_bool","as_datetime","as_float","as_integer","as_str","as_table","as_table_mut","bits","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache","cache_file","cache_path","check_def","check_def","check_overflow","check_overflow","check_overflow","clone","clone","clone_into","clone_into","default","deserialize","deserialize","deserialize","deserialize_any","deserialize_bool","deserialize_byte_buf","deserialize_bytes","deserialize_char","deserialize_enum","deserialize_f32","deserialize_f64","deserialize_i16","deserialize_i32","deserialize_i64","deserialize_i8","deserialize_identifier","deserialize_ignored_any","deserialize_map","deserialize_newtype_struct","deserialize_option","deserialize_seq","deserialize_str","deserialize_string","deserialize_struct","deserialize_tuple","deserialize_tuple_struct","deserialize_u16","deserialize_u32","deserialize_u64","deserialize_u8","deserialize_unit","deserialize_unit_struct","dump_checker_trace","dump_checker_trace","dump_constraint","dump_constraint","dump_fhir","dump_fhir","dump_mir","dump_mir","dump_rty","dump_rty","dump_timings","dump_timings","eq","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_str","get","get_mut","index","index_mut","into","into","into","into","into_deserializer","is_array","is_bool","is_cache_enabled","is_datetime","is_float","is_integer","is_str","is_table","log_dir","log_dir","pointer_width","pointer_width","same_type","scrape_quals","scrape_quals","scrape_quals","serialize","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_str"],"q":[[0,"flux_config"],[162,"alloc::vec"],[163,"core::option"],[164,"toml_datetime::datetime"],[165,"alloc::string"],[166,"toml::map"],[167,"std::path"],[168,"core::result"],[169,"serde::de"],[170,"toml::de"],[171,"serde::de"],[172,"core::fmt"],[173,"core::convert"],[174,"std::collections::hash::map"],[175,"core::hash"],[176,"core::cmp"],[177,"toml::value"],[178,"serde::ser"],[179,"toml::ser"],[180,"serde::ser"]],"d":["Represents a TOML array","Represents a TOML boolean","","","","","","Represents a TOML datetime","","","Represents a TOML float","Represents a TOML integer","","Represents a TOML string","Represents a TOML table","Representation of a TOML value.","","","Extracts the array value if it is an array.","Extracts the array value if it is an array.","Extracts the boolean value if it is a boolean.","Extracts the datetime value if it is a datetime.","Extracts the float value if it is a float.","Extracts the integer value if it is an integer.","Extracts the string of this value if it is a string.","Extracts the table value if it is a table.","Extracts the table value if it is a table.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Index into a TOML array or map. A string index can be used …","Mutably index into a TOML array or map. A string index can …","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Tests whether this value is an array.","Tests whether this value is a boolean.","","Tests whether this value is a datetime.","Tests whether this value is a float.","Tests whether this value is an integer.","Tests if this value is a string.","Tests whether this value is a table.","","","","","Tests whether this and another value have the same type.","","","","","","","","","","","","Convert a T into toml::Value which is an enum that can …","","","","","Interpret a toml::Value as an instance of type T.","","","","","","Returns a human-readable representation of the type of …"],"i":[1,1,0,0,0,0,0,1,0,0,1,1,0,1,1,0,11,11,1,1,1,1,1,1,1,1,1,11,15,16,11,1,15,16,11,1,16,16,0,0,16,0,15,16,11,1,11,1,15,16,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,16,0,16,0,16,0,16,0,16,0,16,1,15,1,1,15,16,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,15,16,11,1,1,1,1,0,1,1,1,1,1,0,16,0,16,1,0,15,16,1,11,1,1,15,16,11,11,1,1,15,16,11,1,1,15,16,11,1,1],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,[[3,[[2,[1]]]]]],[1,[[3,[[2,[1]]]]]],[1,[[3,[4]]]],[1,[[3,[5]]]],[1,[[3,[6]]]],[1,[[3,[7]]]],[1,[[3,[8]]]],[1,[[3,[[10,[9,1]]]]]],[1,[[3,[[10,[9,1]]]]]],[11,12],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[],13],[[],8],0,[[],4],0,0,[11,11],[1,1],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[],15],[-1,[[17,[16]]],18],[-1,[[17,[11]]],18],[-1,[[17,[1]]],18],[[1,-1],[[17,[19]]],20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,8,[21,[8]],-1],[[17,[19]]],20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,8,-1],[[17,[19]]],20],[[1,-1],[[17,[19]]],20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,8,[21,[8]],-1],17,20],[[1,22,-1],17,20],[[1,8,22,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,-1],17,20],[[1,8,-1],17,20],[[],4],0,[[],4],0,[[],4],0,[[],4],0,[[],4],0,[[],4],0,[[1,1],4],[[15,23],24],[[1,23],[[17,[14,25]]]],[[1,23],[[17,[14,25]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[26,1],[[[27,[-1,-2]]],1,[[28,[9]]],[[28,[1]]]],[5,1],[[[29,[-1,-2]]],1,[[28,[9]],30,31],[[28,[1]]]],[[[10,[9,1]]],1],[9,1],[7,1],[4,1],[32,1],[6,1],[8,1],[33,1],[34,1],[[[2,[-1]]],1,[[28,[1]]]],[35,1],[8,[[17,[1]]]],[[1,-1],[[3,[1]]],36],[[1,-1],[[3,[1]]],36],[[1,-1],1,36],[[1,-1],1,36],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,1],[1,4],[1,4],[[],4],[1,4],[1,4],[1,4],[1,4],[1,4],[[],13],0,[[],11],0,[[1,1],4],[[],4],0,0,[[1,-1],17,37],[-1,-2,[],[]],[-1,-2,[],[]],[-1,9,[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[32,[[17,[11]]]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[1,38]]],39],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[1,[[17,[-1,19]]],40],[-1,[[17,[-2]]],[],[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[1,8]],"c":[],"p":[[4,"Value",0],[3,"Vec",162],[4,"Option",163],[15,"bool"],[3,"Datetime",164],[15,"f64"],[15,"i64"],[15,"str"],[3,"String",165],[3,"Map",166],[4,"PointerWidth",0],[15,"u64"],[3,"PathBuf",167],[15,"tuple"],[3,"CrateConfig",0],[3,"Config",0],[4,"Result",168],[8,"Deserializer",169],[3,"Error",170],[8,"Visitor",169],[15,"slice"],[15,"usize"],[3,"Formatter",171],[6,"Result",171],[3,"Error",171],[15,"u32"],[3,"BTreeMap",172],[8,"Into",173],[3,"HashMap",174],[8,"Hash",175],[8,"Eq",176],[15,"u8"],[15,"f32"],[15,"i32"],[15,"i8"],[8,"Index",177],[8,"Serializer",178],[3,"Error",179],[8,"Serialize",178],[8,"Deserialize",169],[3,"TypeId",180]],"b":[[95,"impl-Display-for-Value"],[96,"impl-Debug-for-Value"],[101,"impl-From%3Cu32%3E-for-Value"],[102,"impl-From%3CBTreeMap%3CS,+V%3E%3E-for-Value"],[103,"impl-From%3CDatetime%3E-for-Value"],[104,"impl-From%3CHashMap%3CS,+V%3E%3E-for-Value"],[105,"impl-From%3CMap%3CString,+Value%3E%3E-for-Value"],[106,"impl-From%3CString%3E-for-Value"],[107,"impl-From%3Ci64%3E-for-Value"],[108,"impl-From%3Cbool%3E-for-Value"],[109,"impl-From%3Cu8%3E-for-Value"],[110,"impl-From%3Cf64%3E-for-Value"],[111,"impl-From%3C%26str%3E-for-Value"],[112,"impl-From%3Cf32%3E-for-Value"],[113,"impl-From%3Ci32%3E-for-Value"],[114,"impl-From%3CVec%3CV%3E%3E-for-Value"],[115,"impl-From%3Ci8%3E-for-Value"]]},\ -"flux_desugar":{"doc":"Desugaring from types in flux_syntax::surface to types in …","t":"HAFFFFFFFFFAFAANIGNDENNNDNNEGDLLLLLLLLLLLLLMLLLLLLLMOLLLLLLLLLLLFLLLFLLLLLLLLLLLLLLLLLLFLFLLLLFLLLLLLLLALLLLLLLLLLLLLLLLLLLLLFAFLLLLLLLLLLLLLLLFFKLLMMLLLLLLLLLLLLLLLLMMMLMLLKLLMMMMLLFLLMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNDNNNNNNGDENNNLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLMLMLLLLLLLLLLLLLLLLLMLLLNDNGNNNNNNNNENGNELLLLLLLLLLLMLLLLLMLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDRRRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLNDDNNEDDDGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDDRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLNNGHDDLLLLLLLLLLLLLLLLLLLLMLLMLLLLMMLLLLLLMMMMLLLLLLLLLLLLLL","n":["DEFAULT_LOCALE_RESOURCE","desugar","desugar_defn","desugar_enum_def","desugar_fn_sig","desugar_generics_and_predicates","desugar_qualifier","desugar_refined_by","desugar_sort_decl","desugar_struct_def","desugar_type_alias","errors","func_def_to_func_decl","resolver","sort_resolver","Const","DesugarCtxt","Env","Err","FluxItemCtxt","FuncRes","Global","NumConst","Ok","Param","Param","Param","QPathRes","Result","RustItemCtxt","as_lift_cx","bind_into_refine_arg","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_param_uses","children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","curr","define_resolve_num_const","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","desugar_asyncness","desugar_bin_op","desugar_bty","desugar_bty_bind","desugar_constraint","desugar_defn","desugar_enum_def","desugar_enum_variant_def","desugar_expr","desugar_exprs","desugar_fn_ret_ty","desugar_fn_sig","desugar_fun_arg","desugar_generic_args","desugar_generic_bounds","desugar_generics","desugar_indices","desugar_lit","desugar_opaque_ty_for_async","desugar_opaque_ty_for_impl_trait","desugar_path","desugar_path_to_bty","desugar_predicate","desugar_predicates","desugar_qualifier","desugar_refine_arg","desugar_refined_by","desugar_struct_def","desugar_trait_ref","desugar_ty","desugar_type_alias","desugar_un_op","desugar_variant_ret","drop","drop","drop","drop","drop","emit_err","emit_err","env","filterable","filterable","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_def_to_func_decl","gather","gather_base_sort_vars","gather_params_bty","gather_params_fn_sig","gather_params_fn_sig_input","gather_params_fn_sig_output","gather_params_fun_arg","gather_params_generic_arg","gather_params_indices","gather_params_path","gather_params_predicates","gather_params_refine_arg","gather_params_struct","gather_params_ty","gather_params_type_alias","gather_params_variant","gather_params_variant_ret","gather_refined_by_sort_vars","gather_sort_vars","genv","genv","genv","genv","genv","init","init","init","init","init","insert_opaque_ty","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","local_id_gen","local_id_gen","mk_lft_hole","name","new","new","next_fhir_id","next_fhir_id","next_fhir_id","opaque_tys","owner","owner","parent","resolve_func","resolve_loc","resolve_num_const","resolve_params","resolve_qpath","resolver_output","root","scopes","sess","sort","sort_resolver","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","with_new_owner","Abs","Enum","Env","Err","Exists","FluxItem","FnInput","FnOutput","Ok","Result","Scope","ScopeId","Struct","TyAlias","Variant","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","curr","curr","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","enter","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","exit","extend","extend","filter_map","filterable","filterable","filterable","find_map","fmt","fmt","fmt","fmt_rec","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_params","get","get_mut","get_with_scope","hash","init","init","init","insert","insert","into","into","into","into_desugar_env","into_iter","into_params","into_query_param","into_query_param","into_query_param","into_root","iter","map","mark_as_used","new","new","parent","pop","push","root","root","scope","scopes","to_owned","to_predicate","to_predicate","to_predicate","to_refine_args","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","used","vzip","vzip","vzip","At","CheckParamUses","Colon","Env","Err","Explicit","Field","Generic","Input","Ok","Other","Output","Param","Pound","Result","SyntaxError","TypePos","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check_use","children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","curr","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","env","error","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","is_binder_allowed","new","parent","root","run","scopes","sess","to_owned","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visit_constraint","visit_expr","visit_fn_sig","visit_qpath_expr","visit_ty","vzip","vzip","vzip","DuplicateParam","IllegalBinder","IntTooLarge","InvalidDotVar","InvalidNumericSuffix","InvalidUnrefinedParam","RefineArgCountMismatch","RefinedUnrefinableType","SortArityMismatch","UnexpectedLiteral","UnresolvedGenericParam","UnresolvedSort","UnresolvedVar","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DuplicateParam","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_IllegalBinder","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_IntTooLarge","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidDotVar","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidNumericSuffix","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidUnrefinedParam","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RefineArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RefinedUnrefinableType","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SortArityMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnexpectedLiteral","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedGenericParam","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedSort","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedVar","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expected","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","first_use","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ident","from_qpath","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","name","new","new","new","new","new","new","new","new","new","sort","span","span","span","span","span","span","span","span","span","span","span","span","span","suffix","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","var","var","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Err","ItemLikeResolver","NameResTable","Ok","Res","ResEntry","ResKey","Resolver","ResolverOutput","Result","Unsupported","as_any","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_from_fn_sig","collect_from_generic_arg","collect_from_generic_args","collect_from_generic_bound","collect_from_generic_bounds","collect_from_generics","collect_from_opaque_impls","collect_from_path","collect_from_term","collect_from_ty","collect_from_type_binding","collect_from_where_predicate","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","errors","filterable","filterable","filterable","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_hir_path","from_ident","from_impl_item","from_item","from_path","from_trait_item","get","hash","impl_trait_res_map","init","init","init","init","init","init","insert","into","into","into","into","into","into","into_output","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","new","new","new","opaque","output","output","path_res_map","res","resolve_arg","resolve_asyncness","resolve_bounds","resolve_bty","resolve_constraint","resolve_enum_def","resolve_fn_ret_ty","resolve_fn_sig","resolve_generic_arg","resolve_opaque_impl","resolve_path","resolve_struct_def","resolve_trait_ref","resolve_ty","resolve_type_alias","resolve_variant","resolve_variant_ret","resolve_where_bound_predicate","s","sess","sess","sess","table","tcx","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unsupported","vzip","vzip","vzip","vzip","vzip","vzip","reason","span","UnresolvedPath","UnsupportedSignature","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedPath","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedSignature","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diagnostic","into_diagnostic","into_query_param","into_query_param","new","new","note","path","span","span","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Err","Ok","Result","SORTS","SortResolver","Sorts","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","generic_params","init","init","int","into","into","into_query_param","into_query_param","map","real","resolve_app_sort","resolve_base_sort","resolve_base_sort_ident","resolve_func_sort","resolve_sort","resolve_sort_ctor","sess","set","sort_decls","sort_params","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","with_generics","with_sort_params"],"q":[[0,"flux_desugar"],[15,"flux_desugar::desugar"],[223,"flux_desugar::desugar::env"],[348,"flux_desugar::desugar::gather"],[448,"flux_desugar::errors"],[769,"flux_desugar::resolver"],[962,"flux_desugar::resolver::ResEntry"],[964,"flux_desugar::resolver::errors"],[1014,"flux_desugar::sort_resolver"],[1074,"flux_middle::global_env"],[1075,"flux_syntax::surface"],[1076,"flux_middle::fhir"],[1077,"core::option"],[1078,"rustc_span"],[1079,"core::result"],[1080,"rustc_hir::hir_id"],[1081,"flux_syntax::surface"],[1082,"flux_middle::fhir"],[1083,"flux_syntax::surface"],[1084,"rustc_span::symbol"],[1085,"flux_middle::fhir"],[1086,"core::iter::traits::iterator"],[1087,"flux_syntax::surface"],[1088,"flux_syntax::surface"],[1089,"flux_middle::fhir"],[1090,"flux_middle::fhir"],[1091,"rustc_ast::token"],[1092,"flux_middle::fhir"],[1093,"icu_provider_adapters::filter"],[1094,"core::fmt"],[1095,"core::fmt"],[1096,"rustc_span::symbol"],[1097,"flux_syntax::surface"],[1098,"flux_middle::fhir"],[1099,"flux_middle::fhir"],[1100,"flux_syntax::surface"],[1101,"core::any"],[1102,"rustc_middle::arena"],[1103,"rustc_hir"],[1104,"core::any"],[1105,"flux_middle::fhir"],[1106,"rustc_errors::diagnostic_builder"],[1107,"flux_syntax::surface"]],"d":["Raw content of Fluent resource for this crate, generated …","","","","","HACK(nilehmann) this is a bit of a hack. We use it to …","","","","","","","","","","","","","Contains the error value","","","","","Contains the success value","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Gathering is the process of building an Env for a surface …","","","","","","","","","","Synthetic parameters cannot be defined inside predicates …","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The scope introduced by lambda abstraction. It includes …","The scope introduced by the refined_by annotation in a …","The environment used for desugaring that tracks parameter …","Contains the error value","The scope introduced by an existential type. Either the …","The scope introduced by a flux item like a func definition …","The scope introduced by a function’s input parameters. …","The scope introduced by a function’s output parameters. …","Contains the success value","","","","The scope introduced by the refined_by annotation in a …","The scope introduced by type alias. It includes the early …","The scope introduced by variant. It includes parameters …","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","Enter a child scope.","","","","","","","","Exit the current scope back into the parent scope.","Extends the current scope with a list of parameters …","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","Inserts a parameter in the current scope, returning an …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Remove the current scope and return it. Then set the …","Push a scope with id as a child of the current scope and …","","","","","","","","","","","","","","","","","","","","","","","","","","A parameter declared with @n syntax.","","A parameter declared with x: T syntax.","Environment used during gathering.","Contains the error value","A parameter declared in an explicit scope.","A struct field which disallow any implicitly scoped params.","Type inside a generic argument which disallow implicitly …","Type in input position allowing @n params. Used for …","Contains the success value","Any other position which doesn’t allow implicitly scoped …","Type in output position allowing #n params.","Parameters used during gathering.","A parameter declared with #n syntax.","","A parameter that we know syntactically cannot be used …","A position within a type to track where binders are …","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","","","Contains the success value","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","Contains the success value","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,159,0,0,98,100,159,0,98,100,0,0,0,25,25,25,93,98,100,29,25,93,98,100,29,25,160,29,29,25,93,98,100,29,160,0,25,93,98,100,29,25,93,98,100,29,25,0,25,25,25,0,25,25,116,116,25,25,25,25,25,25,25,116,25,25,25,25,25,25,0,25,0,25,25,25,25,0,25,25,93,98,100,29,25,116,0,25,93,98,100,29,29,25,25,93,93,98,98,100,100,29,29,25,93,98,100,29,0,0,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,116,25,93,25,93,25,93,98,100,29,25,25,93,98,100,29,25,93,98,100,29,29,25,93,25,29,25,93,116,25,93,25,25,93,160,116,116,0,25,116,25,160,160,25,29,25,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,108,108,0,161,108,108,108,108,161,0,0,0,108,108,108,108,108,108,108,108,30,109,108,30,109,108,30,108,108,30,109,108,30,30,30,109,108,30,109,108,30,109,108,30,108,108,108,108,108,108,108,30,30,109,30,30,109,108,30,30,109,108,30,30,30,109,109,108,108,30,109,108,30,30,30,30,108,30,109,108,30,109,30,109,108,30,109,109,30,109,108,30,109,109,109,30,109,30,30,30,30,30,30,30,108,30,109,108,109,30,109,108,30,109,108,30,109,108,30,109,108,109,30,109,108,32,0,32,0,162,32,91,91,91,162,91,91,0,32,0,32,0,91,91,91,91,117,91,32,117,91,32,117,163,91,91,117,91,32,163,117,91,32,117,91,32,117,91,32,117,117,117,91,32,32,117,117,91,91,32,32,32,117,91,32,117,91,32,117,91,32,117,91,32,91,117,163,163,117,163,117,91,117,91,32,117,91,32,117,91,32,117,91,32,117,91,32,117,117,117,117,117,117,91,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,128,129,119,123,124,125,126,127,128,129,130,131,132,133,134,123,128,129,119,119,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,119,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,134,123,123,124,128,129,130,131,132,133,134,124,119,123,124,125,126,127,128,129,130,131,132,133,134,131,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,130,119,123,124,125,126,127,128,129,130,131,132,133,134,164,0,0,164,147,0,0,0,0,0,147,146,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,135,135,135,135,135,135,135,135,135,135,135,135,9,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,146,146,146,146,146,146,146,0,152,153,135,147,9,146,146,152,152,153,153,135,135,147,147,147,9,9,146,146,152,153,135,147,9,146,146,146,135,135,146,135,135,146,9,152,153,135,147,9,146,135,152,153,135,147,9,146,152,152,153,135,147,9,146,152,153,135,135,152,153,9,135,153,153,153,153,153,152,153,152,153,153,153,152,153,153,152,153,153,153,146,152,153,135,153,152,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,147,152,153,135,147,9,146,165,165,0,0,0,0,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,155,156,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,166,166,0,0,0,0,113,167,113,167,113,167,113,167,113,167,113,167,113,167,113,113,167,167,113,167,113,113,167,167,113,167,113,167,167,167,113,113,113,113,113,113,113,167,113,113,113,167,113,167,113,167,113,167,113,167,113,167,113,113],"f":[0,0,[[1,2],[[6,[[4,[3]],5]]]],[[1,7,8,9],[[6,[10,5]]]],[[1,7,[4,[11]],9],[[6,[10,5]]]],[[1,7,9,[4,[12]]],[[6,[10,5]]]],[[1,13],[[6,[14,5]]]],[[15,16,7,17,18],[[6,[19,5]]]],[20,21],[[1,7,22,9],[[6,[10,5]]]],[[1,7,[4,[23]],9],[[6,[10,5]]]],0,[[15,16,2],[[6,[24,5]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[25,26],[[25,27,[4,[28]],[30,[29]]],[[6,[[4,[31]],5]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,[30,[32]],-1],[[6,[10,5]]],33],0,[29,29],[[-1,-2],10,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],0,0,[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[[25,36,37,[30,[29]]],[[6,[38,5]]]],[39,40],[[25,41,[30,[29]]],[[6,[42,5]]]],[[25,[4,[27]],41,[30,[29]]],[[6,[38,5]]]],[[25,43,[30,[29]]],[[6,[44,5]]]],[[1,2],[[6,[[4,[3]],5]]]],[[25,8],[[6,[45,5]]]],[[25,[4,[46]],47],[[6,[48,5]]]],[[-1,[30,[29]],49],[[6,[50,5]]],[]],[[-1,[30,[29]],[51,[49]]],[[6,[[52,[50]],5]]],[]],[[25,37,[30,[29]]],[[6,[38,5]]]],[[25,11],[[6,[[10,[53,54]],5]]]],[[25,55,[30,[29]],[52,[44]]],[[6,[38,5]]]],[[25,56,[51,[57]],[30,[29]]],[[6,[[10,[[52,[58]],[52,[59]]]],5]]]],[[25,60,[30,[29]]],[[6,[61,5]]]],[[25,12],[[6,[62,5]]]],[[25,42,63,[30,[29]]],[[6,[31,5]]]],[[-1,64,65],[[6,[66,5]]],[]],[[25,37,[30,[29]]],[[6,[67,5]]]],[[25,60,[30,[29]]],[[6,[67,5]]]],[[25,68,[30,[29]]],[[6,[69,5]]]],[[25,68,[30,[29]]],[[6,[42,5]]]],[[25,70,[30,[29]]],[[6,[71,5]]]],[[25,[52,[70]],[30,[29]]],[[6,[53,5]]]],[[1,13],[[6,[14,5]]]],[[25,72,[4,[28]],[30,[29]]],[[6,[31,5]]]],[[15,16,7,17,18],[[6,[19,5]]]],[[25,22],[[6,[73,5]]]],[[25,74,[30,[29]]],[[6,[75,5]]]],[[25,[4,[27]],76,[30,[29]]],[[6,[38,5]]]],[[25,23],[[6,[77,5]]]],[78,79],[[25,80,[30,[29]]],[[6,[81,5]]]],[35,10],[35,10],[35,10],[35,10],[35,10],[[25,-1],5,82],[[-1,-2],5,[],82],0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[29,85],86],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[15,16,2],[[6,[24,5]]]],0,[[[89,[88]],90,[89,[88]]],10],[[25,41,91,[30,[32]]],[[6,[10,5]]]],[[25,11],[[6,[[30,[29]],5]]]],[[25,11,[30,[32]]],[[6,[10,5]]]],[[25,11,[30,[32]]],[[6,[10,5]]]],[[25,55,[30,[32]]],[[6,[10,5]]]],[[25,57,91,[30,[32]]],[[6,[10,5]]]],[[25,63,91,[30,[32]]],[[6,[10,5]]]],[[25,68,91,[30,[32]]],[[6,[10,5]]]],[[25,[51,[70]],[30,[32]]],[[6,[10,5]]]],[[25,72,91,[30,[32]]],[[6,[10,5]]]],[[25,22],[[6,[[30,[29]],5]]]],[[25,[4,[27]],76,91,[30,[32]]],[[6,[10,5]]]],[[25,23],[[6,[[30,[29]],5]]]],[[25,46],[[6,[[30,[29]],5]]]],[[25,80,[30,[32]]],[[6,[10,5]]]],[[17,18],[[52,[88]]]],[[[89,[88]],92,[89,[88]]],10],[-1,1,[]],[25,1],[93,1],0,0,[[],35],[[],35],[[],35],[[],35],[[],35],[[25,94,67],10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[25,95],0,[[1,7,9,[4,[[96,[94,67]]]]],25],[[1,88],93],[-1,97,[]],[25,97],[93,97],0,0,0,0,[[-1,[30,[29]],27],[[6,[98,5]]],[]],[[-1,[30,[29]],27],[[6,[99,5]]],[]],[[27,27],[[4,[100]]]],[[25,-1],[[6,[[52,[[10,[27,32]]]],5]]],101],[[-1,[30,[29]],102],[[6,[100,5]]],[]],0,0,0,[25,15],0,0,[-1,-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,7],25],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[105,-1],[[51,[-2]]],101,[]],[[106,-1],[[51,[-2]]],101,[]],[[-1,106],-2,[],[]],[[-1,105],-2,[],[]],[-1,107,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[108,108],[[-1,-2],10,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[[30,[-1]]],[[109,[-1]]],[]],0,[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],[[[30,[-1]],108],10,[]],[[108,108],110],[[-1,107],110,[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[[30,[-1]]],10,[]],[[[30,[-1]],15,-2],[[6,[10,5]]],[],101],[[[109,[-1]],15,-2],[[6,[10,5]]],[],101],[[[30,[-1]],-2],[[30,[-3]]],[],111,[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[[30,[-1]],-2],[[4,[-3]]],[],111,[]],[[[30,[-1]],85],86,112],[[[109,[-1]],85],86,112],[[108,85],86],[[[30,[-1]],108,83,110,85],86,112],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[1,113,108,-1],[[6,[[30,[29]],5]]],101],[[[30,[-1]],27],[[4,[-1]]],[]],[[[30,[-1]],27],[[4,[-1]]],[]],[[[30,[-1]],27],[[4,[[10,[108,-1]]]]],[]],[[108,-1],10,114],[[],35],[[],35],[[],35],[[[30,[-1]],15,27,-1],[[6,[10,5]]],[]],[[[109,[-1]],15,27,-1],[[6,[10,5]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[30,[32]]],[[30,[29]]]],[[[109,[-1]]],[[0,[34]]],[]],[[[109,[29]],-1],[[52,[115]]],116],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[30,[-1]]],[[109,[-1]]],[]],[[[109,[-1]]],[[0,[34]]],[]],0,[[[109,[-1]],27],10,[]],[108,[[30,[-1]]],[]],[[],[[109,[-1]]],[]],0,[[[30,[-1]]],[[109,[-1]]],[]],[[[30,[-1]],108],10,[]],[[[30,[-1]]],[[109,[-1]]],[]],0,[[[30,[-1]],108],[[109,[-1]]],[]],0,[-1,-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[[109,[29]],-1,64],[[52,[31]]],116],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[105,-1],[[51,[-2]]],101,[]],[[106,-1],[[51,[-2]]],101,[]],[[-1,105],-2,[],[]],[[-1,106],-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[117,27],10],0,[91,91],[[-1,-2],10,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],0,[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],0,0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[32,85],86],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[118,32],[[[6,[-1]]],-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[],35],[[],35],[[],35],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[91,118],110],[[15,[30,[32]]],117],0,0,[[117,-1],[[6,[10,5]]],33],0,0,[-1,-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[[117,43],10],[[117,49],10],[[117,11],10],[[117,102],10],[[117,76],10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],0,0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],0,0,0,[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[27,119],[102,119],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[119,120],[[121,[-1]]],122],[[123,120],[[121,[-1]]],122],[[124,120],[[121,[-1]]],122],[[125,120],[[121,[-1]]],122],[[126,120],[[121,[-1]]],122],[[127,120],[[121,[-1]]],122],[[128,120],[[121,[-1]]],122],[[129,120],[[121,[-1]]],122],[[130,120],[[121,[-1]]],122],[[131,120],[[121,[-1]]],122],[[132,120],[[121,[-1]]],122],[[133,120],[[121,[-1]]],122],[[134,120],[[121,[-1]]],122],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[27,27],123],[27,124],[[64,35,35],128],[[63,35],129],[27,130],[[64,88],131],[64,132],[27,133],[[64,118],134],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,107,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[135,136],[[6,[10,5]]]],[[135,137],[[6,[10,5]]]],[[135,138],[[6,[10,5]]]],[[135,139],[[6,[10,5]]]],[[135,[51,[139]]],[[6,[10,5]]]],[[135,140],[[6,[10,5]]]],[[135,103],[[6,[10,5]]]],[[135,141],[[6,[10,5]]]],[[135,142],[[6,[10,5]]]],[[135,143],[[6,[10,5]]]],[[135,144],[[6,[10,5]]]],[[135,145],[[6,[10,5]]]],[[],9],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[[146,146],110],[[-1,107],110,[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[146,85],86],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[56,147],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[15,141],[[6,[146,5]]]],[27,146],[[103,15,148],[[6,[135,5]]]],[[103,15,149],[[6,[135,5]]]],[68,146],[[103,15,150],[[6,[135,5]]]],[[135,146],[[4,[147]]]],[[146,-1],10,114],0,[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[135,146,-1],10,[[151,[147]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[152,9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[103,15],152],[[103,15,7,9],[[6,[153,5]]]],[15,135],0,0,0,0,0,[[153,55],[[6,[10,5]]]],[[153,36],[[6,[10,5]]]],[[153,60],[[6,[10,5]]]],[[153,41],[[6,[10,5]]]],[[153,43],[[6,[10,5]]]],[[152,7,8],[[6,[10,5]]]],[[153,37],[[6,[10,5]]]],[[152,7,11],[[6,[10,5]]]],[[153,57],[[6,[10,5]]]],[[153,154,64],[[6,[10,5]]]],[[153,68],[[6,[10,5]]]],[[152,7,22],[[6,[10,5]]]],[[153,74],[[6,[10,5]]]],[[153,76],[[6,[10,5]]]],[[152,7,23],[[6,[10,5]]]],[[153,[4,[46]]],[[6,[10,5]]]],[[153,80],[[6,[10,5]]]],[[153,70],[[6,[10,5]]]],0,0,0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[141,147],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[],35],[[],35],[-1,-2,[],[]],[-1,-2,[],[]],[[155,120],[[121,[-1]]],122],[[156,120],[[121,[-1]]],122],[-1,-2,[],[]],[-1,-2,[],[]],[[64,83],155],[68,156],0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],0,[[],35],[[],35],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[113,27,[52,[90]]],[[6,[28,5]]]],[[113,90],[[6,[28,5]]]],[[113,27],[[6,[28,5]]]],[[113,[51,[90]],90],[[6,[157,5]]]],[[113,92],[[6,[28,5]]]],[[113,27],[[6,[158,5]]]],0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[15,16,17],113],[[15,16,[51,[88]]],113]],"c":[],"p":[[3,"GlobalEnv",1074],[3,"FuncDef",1075],[3,"Defn",1076],[4,"Option",1077],[3,"ErrorGuaranteed",1078],[4,"Result",1079],[3,"OwnerId",1080],[3,"EnumDef",1075],[3,"ResolverOutput",769],[15,"tuple"],[3,"FnSig",1075],[3,"Generics",1075],[3,"Qualifier",1075],[3,"Qualifier",1076],[3,"FluxSession",1081],[6,"SortDecls",1076],[3,"Generics",1082],[3,"RefinedBy",1075],[3,"RefinedBy",1076],[3,"SortDecl",1075],[3,"SortDecl",1076],[3,"StructDef",1075],[3,"TyAlias",1075],[3,"FuncDecl",1076],[3,"RustItemCtxt",15],[3,"LiftCtxt",1083],[3,"Ident",1084],[4,"Sort",1076],[3,"Param",15],[3,"Env",223],[4,"RefineArg",1076],[4,"Param",348],[8,"FnOnce",1085],[8,"Iterator",1086],[15,"usize"],[4,"Async",1075],[4,"FnRetTy",1075],[3,"Ty",1076],[4,"BinOp",1075],[4,"BinOp",1087],[3,"BaseTy",1075],[3,"BaseTy",1076],[4,"Constraint",1075],[4,"Constraint",1076],[3,"EnumDef",1076],[3,"VariantDef",1075],[3,"Variant",1088],[3,"VariantDef",1076],[3,"Expr",1075],[3,"Expr",1076],[15,"slice"],[3,"Vec",1089],[3,"GenericPredicates",1076],[3,"FnSig",1076],[4,"Arg",1075],[4,"Res",1076],[4,"GenericArg",1075],[4,"GenericArg",1076],[3,"TypeBinding",1076],[6,"GenericBounds",1075],[6,"GenericBounds",1076],[3,"Generics",1076],[3,"Indices",1075],[3,"Span",1090],[3,"Lit",1091],[4,"Lit",1076],[3,"OpaqueTy",1076],[3,"Path",1075],[3,"Path",1076],[3,"WhereBoundPredicate",1075],[3,"WhereBoundPredicate",1076],[4,"RefineArg",1075],[3,"StructDef",1076],[3,"TraitRef",1075],[3,"PolyTraitRef",1076],[3,"Ty",1075],[3,"TyAlias",1076],[4,"UnOp",1075],[4,"UnOp",1087],[3,"VariantRet",1075],[3,"VariantRet",1076],[8,"IntoDiagnostic",1092],[15,"str"],[3,"RequestFilterDataProvider",1093],[3,"Formatter",1094],[6,"Result",1094],[3,"QueryInfo",1095],[3,"Symbol",1084],[6,"FxHashSet",1096],[4,"BaseSort",1075],[4,"TypePos",348],[4,"Sort",1075],[3,"FluxItemCtxt",15],[3,"LocalDefId",1097],[4,"Lifetime",1076],[3,"UnordMap",1098],[3,"FhirId",1076],[4,"FuncRes",15],[3,"Ident",1076],[4,"QPathRes",15],[8,"IntoIterator",1099],[3,"QPathExpr",1075],[3,"TyCtxt",1100],[3,"TypeId",1101],[3,"Arena",1102],[3,"Arena",1103],[8,"Any",1101],[4,"ScopeId",223],[3,"Scope",223],[15,"bool"],[8,"FnMut",1085],[8,"Debug",1094],[3,"SortResolver",1014],[8,"Hasher",1104],[3,"RefineParam",1076],[8,"DesugarCtxt",15],[3,"CheckParamUses",348],[4,"BindKind",1075],[3,"UnresolvedVar",448],[3,"Handler",1105],[3,"DiagnosticBuilder",1092],[8,"EmissionGuarantee",1092],[3,"DuplicateParam",448],[3,"UnresolvedSort",448],[3,"IntTooLarge",448],[3,"UnexpectedLiteral",448],[3,"InvalidDotVar",448],[3,"SortArityMismatch",448],[3,"RefineArgCountMismatch",448],[3,"InvalidUnrefinedParam",448],[3,"InvalidNumericSuffix",448],[3,"RefinedUnrefinableType",448],[3,"UnresolvedGenericParam",448],[3,"IllegalBinder",448],[3,"NameResTable",769],[3,"FnSig",1088],[4,"GenericArg",1088],[3,"GenericArgs",1088],[4,"GenericBound",1088],[3,"Generics",1088],[3,"Path",1088],[4,"Term",1088],[3,"Ty",1088],[3,"TypeBinding",1088],[4,"WherePredicate",1088],[3,"ResKey",769],[4,"ResEntry",769],[3,"ImplItem",1088],[3,"Item",1088],[3,"TraitItem",1088],[8,"Into",1106],[3,"Resolver",769],[3,"ItemLikeResolver",769],[3,"NodeId",1075],[3,"UnsupportedSignature",964],[3,"UnresolvedPath",964],[3,"PolyFuncSort",1076],[4,"SortCtor",1076],[6,"Result",15],[6,"Env",15],[6,"Result",223],[6,"Result",348],[6,"Env",348],[6,"Result",769],[13,"Unsupported",962],[6,"Result",1014],[3,"Sorts",1014]],"b":[]},\ -"flux_driver":{"doc":"","t":"HHAADDLLLLLMFLMLLLFLLLLLFFFLLLLLLLLLLMMMLLLLLLLLFLFFFFLLLLLLLLLLLMLLDDNNNNNDDEDNDNNEGNNNNNNDDNNNMLLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLMAFLLMLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLMLLLLMMOOOLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLOLMLLLLLLLLLLMLLLLLLLLLLLDDDDDDDDDRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["DEFAULT_LOCALE_RESOURCE","DEFAULT_LOCALE_RESOURCES","callbacks","collector","CrateChecker","FluxCallbacks","after_analysis","borrow","borrow","borrow_mut","borrow_mut","cache","check_crate","check_def","checker_config","collect_and_apply","collect_and_apply","config","def_id_symbol","default","deref","deref","deref_mut","deref_mut","desugar_assoc_item","desugar_fn_sig","desugar_item","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","full_compilation","genv","ignores","init","init","into","into","into_query_param","into_query_param","is_ignored","matches_check_def","mir_borrowck","new","resolve_crate","save_metadata","stage1_desugar","stage2_desugar","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","verify","verify","vzip","vzip","CFGSetting","ConstSig","ConstSig","Crate","CrateConfig","ExternSpec","Field","FluxAttr","FluxAttrCFG","FluxAttrKind","FluxAttrs","FnSig","FnSpec","Generics","Ignore","IgnoreKey","Ignores","Invariant","Items","Module","Opaque","QualNames","RefinedBy","SpecCollector","Specs","Trusted","TypeAlias","Variant","_ty","allow_dups","as_any","attr_name","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","const_sig","consts","crate_config","crate_config","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dups","emit_err","enums","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","error_guaranteed","errors","eval_const","extend_items","extern_spec","extern_specs","extract_extern_def_id_from_extern_spec_fn","extract_extern_def_id_from_extern_spec_struct","field","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fn_sig","fn_sig","fn_sigs","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_defs","generics","hash","ignore","ignores","impls","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","items","kind","map","map","name","new","new","opaque","parse","parse_cfg","parse_cfg_item","parse_const_spec","parse_crate_spec","parse_enum_def","parse_field_spec","parse_flux_attr","parse_flux_attrs","parse_fn_spec","parse_impl_spec","parse_mod_spec","parse_sess","parse_struct_def","parse_tyalias_spec","parse_variant","qual_names","qual_names","qualifs","read_attr","read_attrs","read_flag","refined_by","refined_bys","report_dups","sess","setting","sort_decls","span","span","specs","structs","tcx","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","trusted","trusted","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into_crate_cfg","try_read_setting","ty_alias","ty_aliases","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","variant","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AttrOnOpaque","CFGError","DuplicatedAttr","InvalidAttr","InvalidConstant","MalformedExternSpec","MissingFnSigForExternSpec","MissingVariant","SyntaxErr","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AttrOnOpaque","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_CFGError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DuplicatedAttr","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidAttr","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidConstant","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MalformedExternSpec","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MissingFnSigForExternSpec","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MissingVariant","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SyntaxErr","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","field_span","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","message","msg","name","new","new","span","span","span","span","span","span","span","span","span","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_driver"],[4,"flux_driver::callbacks"],[68,"flux_driver::collector"],[381,"flux_driver::collector::errors"],[595,"rustc_interface::interface"],[596,"rustc_interface::queries"],[597,"rustc_driver_impl"],[598,"rustc_middle::ty::context"],[599,"flux_errors"],[600,"rustc_span"],[601,"core::result"],[602,"rustc_span::def_id"],[603,"core::iter::traits::iterator"],[604,"core::ops::function"],[605,"rustc_interface::interface"],[606,"flux_middle::global_env"],[607,"rustc_hir::hir_id"],[608,"rustc_hir::hir"],[609,"flux_desugar::resolver"],[610,"rustc_hir::hir"],[611,"rustc_query_system::query::job"],[612,"rustc_middle::query::queries::mir_borrowck"],[613,"rustc_data_structures::unord"],[614,"flux_config"],[615,"core::option"],[616,"core::any"],[617,"core::any"],[618,"rustc_errors::diagnostic_builder"],[619,"rustc_middle::ty::consts::int"],[620,"core::iter::traits::collect"],[621,"rustc_span::def_id"],[622,"core::fmt"],[623,"flux_syntax::surface"],[624,"rustc_ast::ast"],[625,"rustc_ast::ast"],[626,"rustc_errors"],[627,"rustc_errors::diagnostic_builder"]],"d":["Raw content of Fluent resource for this crate, generated …","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","is_ignored transitively follows the def_id’s …","","","","","","","","","","","","","","","","","","","","","","","","","Ignore the entire crate","","","","","","","","","","","","","Set of module (LocalDefId) that should be ignored by flux","","","(Transitively) ignore the module named LocalDefId","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,1,10,1,10,1,10,0,10,10,10,1,1,0,1,10,1,10,1,0,0,0,10,1,10,1,10,10,1,1,10,1,1,10,10,10,1,10,1,10,1,10,10,0,10,0,0,0,0,10,1,10,1,10,1,10,1,10,1,1,1,10,1,0,0,49,29,49,49,49,0,0,0,0,49,0,49,49,0,0,49,49,29,49,49,49,0,0,49,49,49,48,34,29,0,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,38,38,18,29,45,48,36,34,49,50,51,36,18,36,18,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,36,38,18,29,29,29,29,29,29,29,38,0,0,18,36,18,38,38,36,38,18,29,45,48,36,34,49,50,51,45,48,36,34,49,50,51,36,45,18,38,38,18,18,29,29,45,45,48,48,36,36,34,34,49,49,50,50,51,51,38,18,29,45,48,36,34,49,50,51,18,36,29,36,18,18,38,18,29,45,48,36,34,49,50,51,83,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,36,36,34,36,51,49,18,36,36,38,51,51,38,38,38,38,38,38,38,38,38,38,38,38,38,36,45,18,0,0,0,36,18,38,38,50,18,34,50,38,18,38,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,36,45,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,51,0,36,18,38,18,29,45,48,36,34,49,50,51,48,36,38,18,29,45,48,36,34,49,50,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,80,72,76,77,59,71,78,79,80,81,72,72,76,76,77,77,59,59,71,71,71,78,78,79,79,80,80,81,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,59,71,72,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81],"f":[0,0,0,0,0,0,[[1,2,3],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[5,6],[[9,[7,8]]]],[[10,11],[[9,[7,8]]]],0,[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[1,14],7],[[5,11],15],[[],1],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[[17,18,19,20,21],[[9,[7,8]]]],[[17,18,19,21],[[9,[7,8]]]],[[17,18,22,21],[[9,[7,8]]]],[16,7],[16,7],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],0,0,0,[[],16],[[],16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[10,11],27],[[10,11],27],[[5,11],28],[[17,[30,[29]],[32,[31]]],10],[[5,6,18],[[9,[21,8]]]],[17,7],[[17,18],[[9,[7,8]]]],[[17,18,21],[[9,[7,8]]]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,33,[]],[-1,33,[]],[[1,2,3],7],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[34,27],[-1,35,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[5,6],[[9,[18,8]]]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[36,[[32,[37]]]],0,[36,[[32,[31]]]],0,[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[36,[[0,[12]]]],[[38,-1],8,39],0,[[29,29],27],[[-1,35],27,[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],0,0,[[5,11],[[32,[40]]]],[[18,-1],7,41],[36,27],0,[[38,11],[[9,[42,8]]]],[[38,11,43],[[9,[42,8]]]],[36,[[32,[44]]]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[45,46],47],[[48,46],47],[[36,46],47],[[34,46],47],[[49,46],47],[[50,46],47],[[51,46],47],[36,[[32,[52]]]],0,0,[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],0,[36,[[32,[53]]]],[[29,-1],7,54],[36,27],0,0,[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[36,[[56,[55]]]],[36,[[0,[12]]]],0,0,0,[49,23],[[],18],[[[56,[34]]],36],[36,27],[[38,57,-1,-2],[[9,[49,8]]],13,13],[58,[[9,[51,59]]]],[[51,60],[[9,[7,59]]]],[[38,61,[26,[62]]],[[9,[7,8]]]],[[38,[26,[62]]],[[9,[7,8]]]],[[38,19,[26,[62]],63],[[9,[7,8]]]],[[38,64,27],[[9,[[32,[44]],8]]]],[[38,58],[[9,[34,8]]]],[[38,[26,[62]]],[[9,[36,8]]]],[[38,19,[26,[62]]],[[9,[7,8]]]],[[38,19,[26,[62]]],[[9,[7,8]]]],[[38,11,[26,[62]]],[[9,[7,8]]]],0,[[38,19,[26,[62]],43],[[9,[7,8]]]],[[38,19,[26,[62]]],[[9,[7,8]]]],[[38,65,27],[[9,[[32,[66]],8]]]],[36,[[32,[67]]]],0,0,0,0,0,[36,[[32,[68]]]],[18,[[0,[12]]]],[[38,36],[[9,[7,8]]]],0,0,0,0,0,0,0,0,[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[36,27],0,[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[51,[[9,[31,59]]]],0,[36,[[32,[69]]]],0,[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],0,[36,[[32,[66]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],0,[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[70,71],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[72,73],[[74,[-1]]],75],[[76,73],[[74,[-1]]],75],[[77,73],[[74,[-1]]],75],[[59,73],[[74,[-1]]],75],[[71,73],[[74,[-1]]],75],[[78,73],[[74,[-1]]],75],[[79,73],[[74,[-1]]],75],[[80,73],[[74,[-1]]],75],[[81,73],[[74,[-1]]],75],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[82,64],80],[82,81],0,0,0,0,0,0,0,0,0,[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"FluxCallbacks",4],[3,"Compiler",595],[3,"Queries",596],[4,"Compilation",597],[3,"TyCtxt",598],[3,"FluxSession",599],[15,"tuple"],[3,"ErrorGuaranteed",600],[4,"Result",601],[3,"CrateChecker",4],[3,"LocalDefId",602],[8,"Iterator",603],[8,"FnOnce",604],[3,"Config",595],[3,"Symbol",605],[15,"usize"],[3,"GlobalEnv",606],[3,"Specs",68],[3,"OwnerId",607],[4,"AssocItemKind",608],[3,"ResolverOutput",609],[3,"ItemId",608],[15,"str"],[3,"RequestFilterDataProvider",610],[3,"QueryInfo",611],[15,"slice"],[15,"bool"],[6,"ProvidedValue",612],[4,"IgnoreKey",68],[3,"UnordSet",613],[3,"CrateConfig",614],[4,"Option",615],[3,"TypeId",616],[3,"FluxAttr",68],[8,"Any",616],[3,"FluxAttrs",68],[3,"ConstSig",617],[3,"SpecCollector",68],[8,"IntoDiagnostic",618],[3,"ScalarInt",619],[8,"IntoIterator",620],[3,"DefId",602],[4,"VariantData",608],[3,"Ty",617],[3,"FnSpec",68],[3,"Formatter",621],[6,"Result",621],[3,"ConstSig",68],[4,"FluxAttrKind",68],[3,"CFGSetting",68],[3,"FluxAttrCFG",68],[3,"FnSig",617],[3,"Generics",617],[8,"Hasher",622],[3,"Expr",617],[3,"Vec",623],[3,"DelimArgs",624],[3,"AttrItem",624],[3,"CFGError",381],[4,"NestedMetaItem",624],[3,"Item",608],[3,"Attribute",624],[3,"EnumDef",608],[3,"FieldDef",608],[3,"Variant",608],[3,"VariantDef",617],[3,"QualNames",617],[3,"RefinedBy",617],[3,"TyAlias",617],[3,"ParseError",625],[3,"SyntaxErr",381],[3,"DuplicatedAttr",381],[3,"Handler",626],[3,"DiagnosticBuilder",618],[8,"EmissionGuarantee",618],[3,"InvalidAttr",381],[3,"InvalidConstant",381],[3,"MalformedExternSpec",381],[3,"MissingFnSigForExternSpec",381],[3,"AttrOnOpaque",381],[3,"MissingVariant",381],[3,"Span",627],[6,"Ignores",68]],"b":[]},\ +"flux_desugar":{"doc":"Desugaring from types in flux_syntax::surface to types in …","t":"HAFFFFFFFFFAFAANIGNDENNNDNNEGDLLLLLLLLLLLLLMLLLLLLLMOLLLLLLLLLLLFLLLFLLLLLLLLLLLLLLLLLLFLFLLLLFLLLLLLLLALLLLLLLLLLLLLLLLLLLLLFAFLLLLLLLLLLLLLLLFFKLLMMLLLLLLLLLLLLLLLLMMMLMLLKLLMMMMLLFLLMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNDNNNNNNGDENNNLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLMLMLLLLLLLLLLLLLLLLLMLLLNDNGNNNNNNNNENGNELLLLLLLLLLLMLLLLLMLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDRRRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLNDDNNEDDDGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDDRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLNNGHDDLLLLLLLLLLLLLLLLLLLLMLLMLLLLMMLLLLLLMMMMLLLLLLLLLLLLLL","n":["DEFAULT_LOCALE_RESOURCE","desugar","desugar_defn","desugar_enum_def","desugar_fn_sig","desugar_generics_and_predicates","desugar_qualifier","desugar_refined_by","desugar_sort_decl","desugar_struct_def","desugar_type_alias","errors","func_def_to_func_decl","resolver","sort_resolver","Const","DesugarCtxt","Env","Err","FluxItemCtxt","FuncRes","Global","NumConst","Ok","Param","Param","Param","QPathRes","Result","RustItemCtxt","as_lift_cx","bind_into_refine_arg","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_param_uses","children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","curr","define_resolve_num_const","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","desugar_asyncness","desugar_bin_op","desugar_bty","desugar_bty_bind","desugar_constraint","desugar_defn","desugar_enum_def","desugar_enum_variant_def","desugar_expr","desugar_exprs","desugar_fn_ret_ty","desugar_fn_sig","desugar_fun_arg","desugar_generic_args","desugar_generic_bounds","desugar_generics","desugar_indices","desugar_lit","desugar_opaque_ty_for_async","desugar_opaque_ty_for_impl_trait","desugar_path","desugar_path_to_bty","desugar_predicate","desugar_predicates","desugar_qualifier","desugar_refine_arg","desugar_refined_by","desugar_struct_def","desugar_trait_ref","desugar_ty","desugar_type_alias","desugar_un_op","desugar_variant_ret","drop","drop","drop","drop","drop","emit_err","emit_err","env","filterable","filterable","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_def_to_func_decl","gather","gather_base_sort_vars","gather_params_bty","gather_params_fn_sig","gather_params_fn_sig_input","gather_params_fn_sig_output","gather_params_fun_arg","gather_params_generic_arg","gather_params_indices","gather_params_path","gather_params_predicates","gather_params_refine_arg","gather_params_struct","gather_params_ty","gather_params_type_alias","gather_params_variant","gather_params_variant_ret","gather_refined_by_sort_vars","gather_sort_vars","genv","genv","genv","genv","genv","init","init","init","init","init","insert_opaque_ty","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","local_id_gen","local_id_gen","mk_lft_hole","name","new","new","next_fhir_id","next_fhir_id","next_fhir_id","opaque_tys","owner","owner","parent","resolve_func","resolve_loc","resolve_num_const","resolve_params","resolve_qpath","resolver_output","root","scopes","sess","sort","sort_resolver","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","with_new_owner","Abs","Enum","Env","Err","Exists","FluxItem","FnInput","FnOutput","Ok","Result","Scope","ScopeId","Struct","TyAlias","Variant","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","curr","curr","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","enter","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","exit","extend","extend","filter_map","filterable","filterable","filterable","find_map","fmt","fmt","fmt","fmt_rec","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_params","get","get_mut","get_with_scope","hash","init","init","init","insert","insert","into","into","into","into_desugar_env","into_iter","into_params","into_query_param","into_query_param","into_query_param","into_root","iter","map","mark_as_used","new","new","parent","pop","push","root","root","scope","scopes","to_owned","to_predicate","to_predicate","to_predicate","to_refine_args","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","used","vzip","vzip","vzip","At","CheckParamUses","Colon","Env","Err","Explicit","Field","Generic","Input","Ok","Other","Output","Param","Pound","Result","SyntaxError","TypePos","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check_use","children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","curr","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","env","error","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","is_binder_allowed","new","parent","root","run","scopes","sess","to_owned","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visit_constraint","visit_expr","visit_fn_sig","visit_qpath_expr","visit_ty","vzip","vzip","vzip","DuplicateParam","IllegalBinder","IntTooLarge","InvalidDotVar","InvalidNumericSuffix","InvalidUnrefinedParam","RefineArgCountMismatch","RefinedUnrefinableType","SortArityMismatch","UnexpectedLiteral","UnresolvedGenericParam","UnresolvedSort","UnresolvedVar","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DuplicateParam","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_IllegalBinder","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_IntTooLarge","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidDotVar","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidNumericSuffix","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidUnrefinedParam","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RefineArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RefinedUnrefinableType","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SortArityMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnexpectedLiteral","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedGenericParam","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedSort","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedVar","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expected","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","first_use","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ident","from_qpath","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","name","new","new","new","new","new","new","new","new","new","sort","span","span","span","span","span","span","span","span","span","span","span","span","span","suffix","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","var","var","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Err","ItemLikeResolver","NameResTable","Ok","Res","ResEntry","ResKey","Resolver","ResolverOutput","Result","Unsupported","as_any","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_from_fn_sig","collect_from_generic_arg","collect_from_generic_args","collect_from_generic_bound","collect_from_generic_bounds","collect_from_generics","collect_from_opaque_impls","collect_from_path","collect_from_term","collect_from_ty","collect_from_type_binding","collect_from_where_predicate","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","errors","filterable","filterable","filterable","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_hir_path","from_ident","from_impl_item","from_item","from_path","from_trait_item","get","hash","impl_trait_res_map","init","init","init","init","init","init","insert","into","into","into","into","into","into","into_output","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","new","new","new","opaque","output","output","path_res_map","res","resolve_arg","resolve_asyncness","resolve_bounds","resolve_bty","resolve_constraint","resolve_enum_def","resolve_fn_ret_ty","resolve_fn_sig","resolve_generic_arg","resolve_opaque_impl","resolve_path","resolve_struct_def","resolve_trait_ref","resolve_ty","resolve_type_alias","resolve_variant","resolve_variant_ret","resolve_where_bound_predicate","s","sess","sess","sess","table","tcx","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unsupported","vzip","vzip","vzip","vzip","vzip","vzip","reason","span","UnresolvedPath","UnsupportedSignature","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnresolvedPath","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedSignature","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diagnostic","into_diagnostic","into_query_param","into_query_param","new","new","note","path","span","span","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Err","Ok","Result","SORTS","SortResolver","Sorts","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","generic_params","init","init","int","into","into","into_query_param","into_query_param","map","real","resolve_app_sort","resolve_base_sort","resolve_base_sort_ident","resolve_func_sort","resolve_sort","resolve_sort_ctor","sess","set","sort_decls","sort_params","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","with_generics","with_sort_params"],"q":[[0,"flux_desugar"],[15,"flux_desugar::desugar"],[223,"flux_desugar::desugar::env"],[348,"flux_desugar::desugar::gather"],[448,"flux_desugar::errors"],[769,"flux_desugar::resolver"],[962,"flux_desugar::resolver::ResEntry"],[964,"flux_desugar::resolver::errors"],[1014,"flux_desugar::sort_resolver"],[1074,"flux_middle::global_env"],[1075,"flux_syntax::surface"],[1076,"flux_middle::fhir"],[1077,"core::option"],[1078,"rustc_span"],[1079,"core::result"],[1080,"rustc_hir::hir_id"],[1081,"flux_syntax::surface"],[1082,"flux_middle::fhir"],[1083,"flux_syntax::surface"],[1084,"rustc_span::symbol"],[1085,"flux_middle::fhir"],[1086,"core::iter::traits::iterator"],[1087,"flux_syntax::surface"],[1088,"flux_syntax::surface"],[1089,"flux_middle::fhir"],[1090,"flux_middle::fhir"],[1091,"rustc_ast::token"],[1092,"flux_middle::fhir"],[1093,"icu_provider_adapters::filter"],[1094,"core::fmt"],[1095,"core::fmt"],[1096,"rustc_span::symbol"],[1097,"flux_syntax::surface"],[1098,"flux_middle::fhir"],[1099,"flux_middle::fhir"],[1100,"flux_syntax::surface"],[1101,"core::any"],[1102,"rustc_middle::arena"],[1103,"rustc_hir"],[1104,"core::any"],[1105,"flux_middle::fhir"],[1106,"rustc_errors::diagnostic_builder"],[1107,"flux_syntax::surface"]],"d":["Raw content of Fluent resource for this crate, generated …","","","","","HACK(nilehmann) this is a bit of a hack. We use it to …","","","","","","","","","","","","","Contains the error value","","","","","Contains the success value","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Gathering is the process of building an Env for a surface …","","","","","","","","","","Synthetic parameters cannot be defined inside predicates …","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The scope introduced by lambda abstraction. It includes …","The scope introduced by the refined_by annotation in a …","The environment used for desugaring that tracks parameter …","Contains the error value","The scope introduced by an existential type. Either the …","The scope introduced by a flux item like a func definition …","The scope introduced by a function’s input parameters. …","The scope introduced by a function’s output parameters. …","Contains the success value","","","","The scope introduced by the refined_by annotation in a …","The scope introduced by type alias. It includes the early …","The scope introduced by variant. It includes parameters …","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","Enter a child scope.","","","","","","","","Exit the current scope back into the parent scope.","Extends the current scope with a list of parameters …","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","Inserts a parameter in the current scope, returning an …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Remove the current scope and return it. Then set the …","Push a scope with id as a child of the current scope and …","","","","","","","","","","","","","","","","","","","","","","","","","","A parameter declared with @n syntax.","","A parameter declared with x: T syntax.","Environment used during gathering.","Contains the error value","A parameter declared in an explicit scope.","A struct field which disallow any implicitly scoped params.","Type inside a generic argument which disallow implicitly …","Type in input position allowing @n params. Used for …","Contains the success value","Any other position which doesn’t allow implicitly scoped …","Type in output position allowing #n params.","Parameters used during gathering.","A parameter declared with #n syntax.","","A parameter that we know syntactically cannot be used …","A position within a type to track where binders are …","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","","","Contains the success value","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","Contains the success value","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,159,0,0,98,100,159,0,98,100,0,0,0,25,25,25,93,98,100,29,25,93,98,100,29,25,160,29,29,25,93,98,100,29,160,0,25,93,98,100,29,25,93,98,100,29,25,0,25,25,25,0,25,25,116,116,25,25,25,25,25,25,25,116,25,25,25,25,25,25,0,25,0,25,25,25,25,0,25,25,93,98,100,29,25,116,0,25,93,98,100,29,29,25,25,93,93,98,98,100,100,29,29,25,93,98,100,29,0,0,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,116,25,93,25,93,25,93,98,100,29,25,25,93,98,100,29,25,93,98,100,29,29,25,93,25,29,25,93,116,25,93,25,25,93,160,116,116,0,25,116,25,160,160,25,29,25,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,93,98,100,29,25,108,108,0,161,108,108,108,108,161,0,0,0,108,108,108,108,108,108,108,108,30,109,108,30,109,108,30,108,108,30,109,108,30,30,30,109,108,30,109,108,30,109,108,30,108,108,108,108,108,108,108,30,30,109,30,30,109,108,30,30,109,108,30,30,30,109,109,108,108,30,109,108,30,30,30,30,108,30,109,108,30,109,30,109,108,30,109,109,30,109,108,30,109,109,109,30,109,30,30,30,30,30,30,30,108,30,109,108,109,30,109,108,30,109,108,30,109,108,30,109,108,109,30,109,108,32,0,32,0,162,32,91,91,91,162,91,91,0,32,0,32,0,91,91,91,91,117,91,32,117,91,32,117,163,91,91,117,91,32,163,117,91,32,117,91,32,117,91,32,117,117,117,91,32,32,117,117,91,91,32,32,32,117,91,32,117,91,32,117,91,32,117,91,32,91,117,163,163,117,163,117,91,117,91,32,117,91,32,117,91,32,117,91,32,117,91,32,117,117,117,117,117,117,91,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,128,129,119,123,124,125,126,127,128,129,130,131,132,133,134,123,128,129,119,119,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,119,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,134,123,123,124,128,129,130,131,132,133,134,124,119,123,124,125,126,127,128,129,130,131,132,133,134,131,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,123,124,125,126,127,128,129,130,131,132,133,134,119,130,119,123,124,125,126,127,128,129,130,131,132,133,134,164,0,0,164,147,0,0,0,0,0,147,146,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,135,135,135,135,135,135,135,135,135,135,135,135,9,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,146,146,146,146,146,146,146,0,152,153,135,147,9,146,146,152,152,153,153,135,135,147,147,147,9,9,146,146,152,153,135,147,9,146,146,146,135,135,146,135,135,146,9,152,153,135,147,9,146,135,152,153,135,147,9,146,152,152,153,135,147,9,146,152,153,135,135,152,153,9,135,153,153,153,153,153,152,153,152,153,153,153,152,153,153,152,153,153,153,146,152,153,135,153,152,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,152,153,135,147,9,146,147,152,153,135,147,9,146,165,165,0,0,0,0,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,155,156,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,155,156,166,166,0,0,0,0,113,167,113,167,113,167,113,167,113,167,113,167,113,167,113,113,167,167,113,167,113,113,167,167,113,167,113,167,167,167,113,113,113,113,113,113,113,167,113,113,113,167,113,167,113,167,113,167,113,167,113,167,113,113],"f":[0,0,[[1,2],[[6,[[4,[3]],5]]]],[[1,7,8,9],[[6,[10,5]]]],[[1,7,[4,[11]],9],[[6,[10,5]]]],[[1,7,9,[4,[12]]],[[6,[10,5]]]],[[1,13],[[6,[14,5]]]],[[15,16,7,17,18],[[6,[19,5]]]],[20,21],[[1,7,22,9],[[6,[10,5]]]],[[1,7,[4,[23]],9],[[6,[10,5]]]],0,[[15,16,2],[[6,[24,5]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[25,26],[[25,27,[4,[28]],[30,[29]]],[[6,[[4,[31]],5]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,[30,[32]],-1],[[6,[10,5]]],33],0,[29,29],[[-1,-2],10,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],0,0,[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[[25,36,37,[30,[29]]],[[6,[38,5]]]],[39,40],[[25,41,[30,[29]]],[[6,[42,5]]]],[[25,[4,[27]],41,[30,[29]]],[[6,[38,5]]]],[[25,43,[30,[29]]],[[6,[44,5]]]],[[1,2],[[6,[[4,[3]],5]]]],[[25,8],[[6,[45,5]]]],[[25,[4,[46]],47],[[6,[48,5]]]],[[-1,[30,[29]],49],[[6,[50,5]]],[]],[[-1,[30,[29]],[51,[49]]],[[6,[[52,[50]],5]]],[]],[[25,37,[30,[29]]],[[6,[38,5]]]],[[25,11],[[6,[[10,[53,54]],5]]]],[[25,55,[30,[29]],[52,[44]]],[[6,[38,5]]]],[[25,56,[51,[57]],[30,[29]]],[[6,[[10,[[52,[58]],[52,[59]]]],5]]]],[[25,60,[30,[29]]],[[6,[61,5]]]],[[25,12],[[6,[62,5]]]],[[25,42,63,[30,[29]]],[[6,[31,5]]]],[[-1,64,65],[[6,[66,5]]],[]],[[25,37,[30,[29]]],[[6,[67,5]]]],[[25,60,[30,[29]]],[[6,[67,5]]]],[[25,68,[30,[29]]],[[6,[69,5]]]],[[25,68,[30,[29]]],[[6,[42,5]]]],[[25,70,[30,[29]]],[[6,[71,5]]]],[[25,[52,[70]],[30,[29]]],[[6,[53,5]]]],[[1,13],[[6,[14,5]]]],[[25,72,[4,[28]],[30,[29]]],[[6,[31,5]]]],[[15,16,7,17,18],[[6,[19,5]]]],[[25,22],[[6,[73,5]]]],[[25,74,[30,[29]]],[[6,[75,5]]]],[[25,[4,[27]],76,[30,[29]]],[[6,[38,5]]]],[[25,23],[[6,[77,5]]]],[78,79],[[25,80,[30,[29]]],[[6,[81,5]]]],[35,10],[35,10],[35,10],[35,10],[35,10],[[25,-1],5,82],[[-1,-2],5,[],82],0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[29,85],86],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[15,16,2],[[6,[24,5]]]],0,[[[89,[88]],90,[89,[88]]],10],[[25,41,91,[30,[32]]],[[6,[10,5]]]],[[25,11],[[6,[[30,[29]],5]]]],[[25,11,[30,[32]]],[[6,[10,5]]]],[[25,11,[30,[32]]],[[6,[10,5]]]],[[25,55,[30,[32]]],[[6,[10,5]]]],[[25,57,91,[30,[32]]],[[6,[10,5]]]],[[25,63,91,[30,[32]]],[[6,[10,5]]]],[[25,68,91,[30,[32]]],[[6,[10,5]]]],[[25,[51,[70]],[30,[32]]],[[6,[10,5]]]],[[25,72,91,[30,[32]]],[[6,[10,5]]]],[[25,22],[[6,[[30,[29]],5]]]],[[25,[4,[27]],76,91,[30,[32]]],[[6,[10,5]]]],[[25,23],[[6,[[30,[29]],5]]]],[[25,46],[[6,[[30,[29]],5]]]],[[25,80,[30,[32]]],[[6,[10,5]]]],[[17,18],[[52,[88]]]],[[[89,[88]],92,[89,[88]]],10],[-1,1,[]],[25,1],[93,1],0,0,[[],35],[[],35],[[],35],[[],35],[[],35],[[25,94,67],10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[25,95],0,[[1,7,9,[4,[[96,[94,67]]]]],25],[[1,88],93],[-1,97,[]],[25,97],[93,97],0,0,0,0,[[-1,[30,[29]],27],[[6,[98,5]]],[]],[[-1,[30,[29]],27],[[6,[99,5]]],[]],[[27,27],[[4,[100]]]],[[25,-1],[[6,[[52,[[10,[27,32]]]],5]]],101],[[-1,[30,[29]],102],[[6,[100,5]]],[]],0,0,0,[25,15],0,0,[-1,-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,7],25],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[105,-1],[[51,[-2]]],101,[]],[[106,-1],[[51,[-2]]],101,[]],[[-1,105],-2,[],[]],[[-1,106],-2,[],[]],[-1,107,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[108,108],[[-1,-2],10,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[[30,[-1]]],[[109,[-1]]],[]],0,[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],[[[30,[-1]],108],10,[]],[[108,108],110],[[-1,107],110,[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[[30,[-1]]],10,[]],[[[30,[-1]],15,-2],[[6,[10,5]]],[],101],[[[109,[-1]],15,-2],[[6,[10,5]]],[],101],[[[30,[-1]],-2],[[30,[-3]]],[],111,[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[[30,[-1]],-2],[[4,[-3]]],[],111,[]],[[[30,[-1]],85],86,112],[[[109,[-1]],85],86,112],[[108,85],86],[[[30,[-1]],108,83,110,85],86,112],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[1,113,108,-1],[[6,[[30,[29]],5]]],101],[[[30,[-1]],27],[[4,[-1]]],[]],[[[30,[-1]],27],[[4,[-1]]],[]],[[[30,[-1]],27],[[4,[[10,[108,-1]]]]],[]],[[108,-1],10,114],[[],35],[[],35],[[],35],[[[30,[-1]],15,27,-1],[[6,[10,5]]],[]],[[[109,[-1]],15,27,-1],[[6,[10,5]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[30,[32]]],[[30,[29]]]],[[[109,[-1]]],[[0,[34]]],[]],[[[109,[29]],-1],[[52,[115]]],116],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[30,[-1]]],[[109,[-1]]],[]],[[[109,[-1]]],[[0,[34]]],[]],0,[[[109,[-1]],27],10,[]],[108,[[30,[-1]]],[]],[[],[[109,[-1]]],[]],0,[[[30,[-1]]],[[109,[-1]]],[]],[[[30,[-1]],108],10,[]],[[[30,[-1]]],[[109,[-1]]],[]],0,[[[30,[-1]],108],[[109,[-1]]],[]],0,[-1,-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[[109,[29]],-1,64],[[52,[31]]],116],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[105,-1],[[51,[-2]]],101,[]],[[106,-1],[[51,[-2]]],101,[]],[[-1,105],-2,[],[]],[[-1,106],-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[117,27],10],0,[91,91],[[-1,-2],10,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],0,[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],0,0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[32,85],86],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[118,32],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[],35],[[],35],[[],35],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[91,118],110],[[15,[30,[32]]],117],0,0,[[117,-1],[[6,[10,5]]],33],0,0,[-1,-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[[117,43],10],[[117,49],10],[[117,11],10],[[117,102],10],[[117,76],10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],0,0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],0,0,0,[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[27,119],[102,119],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[119,120],[[121,[-1]]],122],[[123,120],[[121,[-1]]],122],[[124,120],[[121,[-1]]],122],[[125,120],[[121,[-1]]],122],[[126,120],[[121,[-1]]],122],[[127,120],[[121,[-1]]],122],[[128,120],[[121,[-1]]],122],[[129,120],[[121,[-1]]],122],[[130,120],[[121,[-1]]],122],[[131,120],[[121,[-1]]],122],[[132,120],[[121,[-1]]],122],[[133,120],[[121,[-1]]],122],[[134,120],[[121,[-1]]],122],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[27,27],123],[27,124],[[64,35,35],128],[[63,35],129],[27,130],[[64,88],131],[64,132],[27,133],[[64,118],134],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[-1,107,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[[135,136],[[6,[10,5]]]],[[135,137],[[6,[10,5]]]],[[135,138],[[6,[10,5]]]],[[135,139],[[6,[10,5]]]],[[135,[51,[139]]],[[6,[10,5]]]],[[135,140],[[6,[10,5]]]],[[135,103],[[6,[10,5]]]],[[135,141],[[6,[10,5]]]],[[135,142],[[6,[10,5]]]],[[135,143],[[6,[10,5]]]],[[135,144],[[6,[10,5]]]],[[135,145],[[6,[10,5]]]],[[],9],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[35,10],[35,10],[35,10],[35,10],[[146,146],110],[[-1,107],110,[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],[[-1,-2],110,[],[]],0,[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[146,85],86],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[56,147],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[15,141],[[6,[146,5]]]],[27,146],[[103,15,148],[[6,[135,5]]]],[[103,15,149],[[6,[135,5]]]],[68,146],[[103,15,150],[[6,[135,5]]]],[[135,146],[[4,[147]]]],[[146,-1],10,114],0,[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[135,146,-1],10,[[151,[147]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[152,9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[103,15],152],[[103,15,7,9],[[6,[153,5]]]],[15,135],0,0,0,0,0,[[153,55],[[6,[10,5]]]],[[153,36],[[6,[10,5]]]],[[153,60],[[6,[10,5]]]],[[153,41],[[6,[10,5]]]],[[153,43],[[6,[10,5]]]],[[152,7,8],[[6,[10,5]]]],[[153,37],[[6,[10,5]]]],[[152,7,11],[[6,[10,5]]]],[[153,57],[[6,[10,5]]]],[[153,154,64],[[6,[10,5]]]],[[153,68],[[6,[10,5]]]],[[152,7,22],[[6,[10,5]]]],[[153,74],[[6,[10,5]]]],[[153,76],[[6,[10,5]]]],[[152,7,23],[[6,[10,5]]]],[[153,[4,[46]]],[[6,[10,5]]]],[[153,80],[[6,[10,5]]]],[[153,70],[[6,[10,5]]]],0,0,0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[-1,104,[]],[141,147],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],[[],35],[[],35],[-1,-2,[],[]],[-1,-2,[],[]],[[155,120],[[121,[-1]]],122],[[156,120],[[121,[-1]]],122],[-1,-2,[],[]],[-1,-2,[],[]],[[64,83],155],[68,156],0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,34,33,[]],[[-1,-2],-3,34,33,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,-1,[]],[35,10],[35,10],[[-1,83],[[84,[-2]]],[],[]],[[-1,83],[[84,[-2]]],[],[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[-1,-1,[]],[[[6,[-1]]],-1,[]],[[-1,[51,[87]],5],-2,[],[]],[[-1,[51,[87]],5],-2,[],[]],0,[[],35],[[],35],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[113,27,[52,[90]]],[[6,[28,5]]]],[[113,90],[[6,[28,5]]]],[[113,27],[[6,[28,5]]]],[[113,[51,[90]],90],[[6,[157,5]]]],[[113,92],[[6,[28,5]]]],[[113,27],[[6,[158,5]]]],0,0,0,0,[[-1,103],-2,[],[]],[[-1,103],-2,[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,[[6,[-2]]],[],[]],[-1,104,[]],[-1,104,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[15,16,17],113],[[15,16,[51,[88]]],113]],"c":[],"p":[[3,"GlobalEnv",1074],[3,"FuncDef",1075],[3,"Defn",1076],[4,"Option",1077],[3,"ErrorGuaranteed",1078],[4,"Result",1079],[3,"OwnerId",1080],[3,"EnumDef",1075],[3,"ResolverOutput",769],[15,"tuple"],[3,"FnSig",1075],[3,"Generics",1075],[3,"Qualifier",1075],[3,"Qualifier",1076],[3,"FluxSession",1081],[6,"SortDecls",1076],[3,"Generics",1082],[3,"RefinedBy",1075],[3,"RefinedBy",1076],[3,"SortDecl",1075],[3,"SortDecl",1076],[3,"StructDef",1075],[3,"TyAlias",1075],[3,"FuncDecl",1076],[3,"RustItemCtxt",15],[3,"LiftCtxt",1083],[3,"Ident",1084],[4,"Sort",1076],[3,"Param",15],[3,"Env",223],[4,"RefineArg",1076],[4,"Param",348],[8,"FnOnce",1085],[8,"Iterator",1086],[15,"usize"],[4,"Async",1075],[4,"FnRetTy",1075],[3,"Ty",1076],[4,"BinOp",1075],[4,"BinOp",1087],[3,"BaseTy",1075],[3,"BaseTy",1076],[4,"Constraint",1075],[4,"Constraint",1076],[3,"EnumDef",1076],[3,"VariantDef",1075],[3,"Variant",1088],[3,"VariantDef",1076],[3,"Expr",1075],[3,"Expr",1076],[15,"slice"],[3,"Vec",1089],[3,"GenericPredicates",1076],[3,"FnSig",1076],[4,"Arg",1075],[4,"Res",1076],[4,"GenericArg",1075],[4,"GenericArg",1076],[3,"TypeBinding",1076],[6,"GenericBounds",1075],[6,"GenericBounds",1076],[3,"Generics",1076],[3,"Indices",1075],[3,"Span",1090],[3,"Lit",1091],[4,"Lit",1076],[3,"OpaqueTy",1076],[3,"Path",1075],[3,"Path",1076],[3,"WhereBoundPredicate",1075],[3,"WhereBoundPredicate",1076],[4,"RefineArg",1075],[3,"StructDef",1076],[3,"TraitRef",1075],[3,"PolyTraitRef",1076],[3,"Ty",1075],[3,"TyAlias",1076],[4,"UnOp",1075],[4,"UnOp",1087],[3,"VariantRet",1075],[3,"VariantRet",1076],[8,"IntoDiagnostic",1092],[15,"str"],[3,"RequestFilterDataProvider",1093],[3,"Formatter",1094],[6,"Result",1094],[3,"QueryInfo",1095],[3,"Symbol",1084],[6,"FxHashSet",1096],[4,"BaseSort",1075],[4,"TypePos",348],[4,"Sort",1075],[3,"FluxItemCtxt",15],[3,"LocalDefId",1097],[4,"Lifetime",1076],[3,"UnordMap",1098],[3,"FhirId",1076],[4,"FuncRes",15],[3,"Ident",1076],[4,"QPathRes",15],[8,"IntoIterator",1099],[3,"QPathExpr",1075],[3,"TyCtxt",1100],[3,"TypeId",1101],[3,"Arena",1102],[3,"Arena",1103],[8,"Any",1101],[4,"ScopeId",223],[3,"Scope",223],[15,"bool"],[8,"FnMut",1085],[8,"Debug",1094],[3,"SortResolver",1014],[8,"Hasher",1104],[3,"RefineParam",1076],[8,"DesugarCtxt",15],[3,"CheckParamUses",348],[4,"BindKind",1075],[3,"UnresolvedVar",448],[3,"Handler",1105],[3,"DiagnosticBuilder",1092],[8,"EmissionGuarantee",1092],[3,"DuplicateParam",448],[3,"UnresolvedSort",448],[3,"IntTooLarge",448],[3,"UnexpectedLiteral",448],[3,"InvalidDotVar",448],[3,"SortArityMismatch",448],[3,"RefineArgCountMismatch",448],[3,"InvalidUnrefinedParam",448],[3,"InvalidNumericSuffix",448],[3,"RefinedUnrefinableType",448],[3,"UnresolvedGenericParam",448],[3,"IllegalBinder",448],[3,"NameResTable",769],[3,"FnSig",1088],[4,"GenericArg",1088],[3,"GenericArgs",1088],[4,"GenericBound",1088],[3,"Generics",1088],[3,"Path",1088],[4,"Term",1088],[3,"Ty",1088],[3,"TypeBinding",1088],[4,"WherePredicate",1088],[3,"ResKey",769],[4,"ResEntry",769],[3,"ImplItem",1088],[3,"Item",1088],[3,"TraitItem",1088],[8,"Into",1106],[3,"Resolver",769],[3,"ItemLikeResolver",769],[3,"NodeId",1075],[3,"UnsupportedSignature",964],[3,"UnresolvedPath",964],[3,"PolyFuncSort",1076],[4,"SortCtor",1076],[6,"Result",15],[6,"Env",15],[6,"Result",223],[6,"Result",348],[6,"Env",348],[6,"Result",769],[13,"Unsupported",962],[6,"Result",1014],[3,"Sorts",1014]],"b":[]},\ +"flux_driver":{"doc":"","t":"HHAADDLLLLLMFLMLLLFLLLLLFFFLLLLLLLLLLMMMLLLLLLLLFLFFFFLLLLLLLLLLLMLLDDNNNNNDDEDNDNNEGNNNNNNDDNNNMLLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLMAFLLMLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLMLLLLMMOOOLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLOLMLLLLLLLLLLMLLLLLLLLLLLDDDDDDDDDRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["DEFAULT_LOCALE_RESOURCE","DEFAULT_LOCALE_RESOURCES","callbacks","collector","CrateChecker","FluxCallbacks","after_analysis","borrow","borrow","borrow_mut","borrow_mut","cache","check_crate","check_def","checker_config","collect_and_apply","collect_and_apply","config","def_id_symbol","default","deref","deref","deref_mut","deref_mut","desugar_assoc_item","desugar_fn_sig","desugar_item","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","full_compilation","genv","ignores","init","init","into","into","into_query_param","into_query_param","is_ignored","matches_check_def","mir_borrowck","new","resolve_crate","save_metadata","stage1_desugar","stage2_desugar","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","verify","verify","vzip","vzip","CFGSetting","ConstSig","ConstSig","Crate","CrateConfig","ExternSpec","Field","FluxAttr","FluxAttrCFG","FluxAttrKind","FluxAttrs","FnSig","FnSpec","Generics","Ignore","IgnoreKey","Ignores","Invariant","Items","Module","Opaque","QualNames","RefinedBy","SpecCollector","Specs","Trusted","TypeAlias","Variant","_ty","allow_dups","as_any","attr_name","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","const_sig","consts","crate_config","crate_config","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dups","emit_err","enums","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","error_guaranteed","errors","eval_const","extend_items","extern_spec","extern_specs","extract_extern_def_id_from_extern_spec_fn","extract_extern_def_id_from_extern_spec_struct","field","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fn_sig","fn_sig","fn_sigs","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_defs","generics","hash","ignore","ignores","impls","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","items","kind","map","map","name","new","new","opaque","parse","parse_cfg","parse_cfg_item","parse_const_spec","parse_crate_spec","parse_enum_def","parse_field_spec","parse_flux_attr","parse_flux_attrs","parse_fn_spec","parse_impl_spec","parse_mod_spec","parse_sess","parse_struct_def","parse_tyalias_spec","parse_variant","qual_names","qual_names","qualifs","read_attr","read_attrs","read_flag","refined_by","refined_bys","report_dups","sess","setting","sort_decls","span","span","specs","structs","tcx","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","trusted","trusted","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into_crate_cfg","try_read_setting","ty_alias","ty_aliases","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","variant","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AttrOnOpaque","CFGError","DuplicatedAttr","InvalidAttr","InvalidConstant","MalformedExternSpec","MissingFnSigForExternSpec","MissingVariant","SyntaxErr","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AttrOnOpaque","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_CFGError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DuplicatedAttr","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidAttr","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidConstant","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MalformedExternSpec","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MissingFnSigForExternSpec","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MissingVariant","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SyntaxErr","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","field_span","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","message","msg","name","new","new","span","span","span","span","span","span","span","span","span","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_driver"],[4,"flux_driver::callbacks"],[68,"flux_driver::collector"],[381,"flux_driver::collector::errors"],[595,"rustc_interface::interface"],[596,"rustc_interface::queries"],[597,"rustc_driver_impl"],[598,"rustc_middle::ty::context"],[599,"flux_errors"],[600,"rustc_span"],[601,"core::result"],[602,"rustc_span::def_id"],[603,"core::iter::traits::iterator"],[604,"core::ops::function"],[605,"rustc_interface::interface"],[606,"flux_middle::global_env"],[607,"rustc_hir::hir_id"],[608,"rustc_hir::hir"],[609,"flux_desugar::resolver"],[610,"rustc_hir::hir"],[611,"rustc_query_system::query::job"],[612,"rustc_middle::query::queries::mir_borrowck"],[613,"rustc_data_structures::unord"],[614,"flux_config"],[615,"core::option"],[616,"core::any"],[617,"core::any"],[618,"rustc_errors::diagnostic_builder"],[619,"rustc_middle::ty::consts::int"],[620,"core::iter::traits::collect"],[621,"rustc_span::def_id"],[622,"core::fmt"],[623,"flux_syntax::surface"],[624,"rustc_ast::ast"],[625,"rustc_ast::ast"],[626,"rustc_errors"],[627,"rustc_errors::diagnostic_builder"]],"d":["Raw content of Fluent resource for this crate, generated …","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","is_ignored transitively follows the def_id’s …","","","","","","","","","","","","","","","","","","","","","","","","","Ignore the entire crate","","","","","","","","","","","","","Set of module (LocalDefId) that should be ignored by flux","","","(Transitively) ignore the module named LocalDefId","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,1,10,1,10,1,10,0,10,10,10,1,1,0,1,10,1,10,1,0,0,0,10,1,10,1,10,10,1,1,10,1,1,10,10,10,1,10,1,10,1,10,10,0,10,0,0,0,0,10,1,10,1,10,1,10,1,10,1,1,1,10,1,0,0,49,29,49,49,49,0,0,0,0,49,0,49,49,0,0,49,49,29,49,49,49,0,0,49,49,49,48,34,29,0,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,38,38,18,29,45,48,36,34,49,50,51,36,18,36,18,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,36,38,18,29,29,29,29,29,29,29,38,0,0,18,36,18,38,38,36,38,18,29,45,48,36,34,49,50,51,45,48,36,34,49,50,51,36,45,18,38,38,18,18,29,29,45,45,48,48,36,36,34,34,49,49,50,50,51,51,38,18,29,45,48,36,34,49,50,51,18,36,29,36,18,18,38,18,29,45,48,36,34,49,50,51,83,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,36,36,34,36,51,49,18,36,36,38,51,51,38,38,38,38,38,38,38,38,38,38,38,38,38,36,45,18,0,0,0,36,18,38,38,50,18,34,50,38,18,38,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,36,45,38,18,29,45,48,36,34,49,50,51,38,18,29,45,48,36,34,49,50,51,51,0,36,18,38,18,29,45,48,36,34,49,50,51,48,36,38,18,29,45,48,36,34,49,50,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,80,72,76,77,59,71,78,79,80,81,72,72,76,76,77,77,59,59,71,71,71,78,78,79,79,80,80,81,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,59,71,72,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81,72,76,77,59,71,78,79,80,81],"f":[0,0,0,0,0,0,[[1,2,3],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[5,6],[[9,[7,8]]]],[[10,11],[[9,[7,8]]]],0,[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[1,14],7],[[5,11],15],[[],1],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[[17,18,19,20,21],[[9,[7,8]]]],[[17,18,19,21],[[9,[7,8]]]],[[17,18,22,21],[[9,[7,8]]]],[16,7],[16,7],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],0,0,0,[[],16],[[],16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[10,11],27],[[10,11],27],[[5,11],28],[[17,[30,[29]],[32,[31]]],10],[[5,6,18],[[9,[21,8]]]],[17,7],[[17,18],[[9,[7,8]]]],[[17,18,21],[[9,[7,8]]]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,33,[]],[-1,33,[]],[[1,2,3],7],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[34,27],[-1,35,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[5,6],[[9,[18,8]]]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[36,[[32,[37]]]],0,[36,[[32,[31]]]],0,[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[36,[[0,[12]]]],[[38,-1],8,39],0,[[29,29],27],[[-1,35],27,[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],[[-1,-2],27,[],[]],0,0,[[5,11],[[32,[40]]]],[[18,-1],7,41],[36,27],0,[[38,11],[[9,[42,8]]]],[[38,11,43],[[9,[42,8]]]],[36,[[32,[44]]]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[45,46],47],[[48,46],47],[[36,46],47],[[34,46],47],[[49,46],47],[[50,46],47],[[51,46],47],[36,[[32,[52]]]],0,0,[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],0,[36,[[32,[53]]]],[[29,-1],7,54],[36,27],0,0,[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[36,[[56,[55]]]],[36,[[0,[12]]]],0,0,0,[49,23],[[],18],[[[56,[34]]],36],[36,27],[[38,57,-1,-2],[[9,[49,8]]],13,13],[58,[[9,[51,59]]]],[[51,60],[[9,[7,59]]]],[[38,61,[26,[62]]],[[9,[7,8]]]],[[38,[26,[62]]],[[9,[7,8]]]],[[38,19,[26,[62]],63],[[9,[7,8]]]],[[38,64,27],[[9,[[32,[44]],8]]]],[[38,58],[[9,[34,8]]]],[[38,[26,[62]]],[[9,[36,8]]]],[[38,19,[26,[62]]],[[9,[7,8]]]],[[38,19,[26,[62]]],[[9,[7,8]]]],[[38,11,[26,[62]]],[[9,[7,8]]]],0,[[38,19,[26,[62]],43],[[9,[7,8]]]],[[38,19,[26,[62]]],[[9,[7,8]]]],[[38,65,27],[[9,[[32,[66]],8]]]],[36,[[32,[67]]]],0,0,0,0,0,[36,[[32,[68]]]],[18,[[0,[12]]]],[[38,36],[[9,[7,8]]]],0,0,0,0,0,0,0,0,[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[36,27],0,[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[51,[[9,[31,59]]]],0,[36,[[32,[69]]]],0,[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],0,[36,[[32,[66]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[[-1,-2],-3,12,13,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,-1,[]],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],0,[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[[-1,23],[[24,[-2]]],[],[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[70,71],[-1,-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[[9,[-1]]],-1,[]],[[[9,[-1]]],-1,[]],[-1,-1,[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[-1,[26,[25]],8],-2,[],[]],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[72,73],[[74,[-1]]],75],[[76,73],[[74,[-1]]],75],[[77,73],[[74,[-1]]],75],[[59,73],[[74,[-1]]],75],[[71,73],[[74,[-1]]],75],[[78,73],[[74,[-1]]],75],[[79,73],[[74,[-1]]],75],[[80,73],[[74,[-1]]],75],[[81,73],[[74,[-1]]],75],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[82,64],80],[82,81],0,0,0,0,0,0,0,0,0,[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[[-1,5],-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"FluxCallbacks",4],[3,"Compiler",595],[3,"Queries",596],[4,"Compilation",597],[3,"TyCtxt",598],[3,"FluxSession",599],[15,"tuple"],[3,"ErrorGuaranteed",600],[4,"Result",601],[3,"CrateChecker",4],[3,"LocalDefId",602],[8,"Iterator",603],[8,"FnOnce",604],[3,"Config",595],[3,"Symbol",605],[15,"usize"],[3,"GlobalEnv",606],[3,"Specs",68],[3,"OwnerId",607],[4,"AssocItemKind",608],[3,"ResolverOutput",609],[3,"ItemId",608],[15,"str"],[3,"RequestFilterDataProvider",610],[3,"QueryInfo",611],[15,"slice"],[15,"bool"],[6,"ProvidedValue",612],[4,"IgnoreKey",68],[3,"UnordSet",613],[3,"CrateConfig",614],[4,"Option",615],[3,"TypeId",616],[3,"FluxAttr",68],[8,"Any",616],[3,"FluxAttrs",68],[3,"ConstSig",617],[3,"SpecCollector",68],[8,"IntoDiagnostic",618],[3,"ScalarInt",619],[8,"IntoIterator",620],[3,"DefId",602],[4,"VariantData",608],[3,"Ty",617],[3,"FnSpec",68],[3,"Formatter",621],[6,"Result",621],[3,"ConstSig",68],[4,"FluxAttrKind",68],[3,"CFGSetting",68],[3,"FluxAttrCFG",68],[3,"FnSig",617],[3,"Generics",617],[8,"Hasher",622],[3,"Expr",617],[3,"Vec",623],[3,"DelimArgs",624],[3,"AttrItem",624],[3,"CFGError",381],[4,"NestedMetaItem",624],[3,"Item",608],[3,"Attribute",624],[3,"EnumDef",608],[3,"FieldDef",608],[3,"Variant",608],[3,"VariantDef",617],[3,"QualNames",617],[3,"RefinedBy",617],[3,"TyAlias",617],[3,"ParseError",625],[3,"SyntaxErr",381],[3,"DuplicatedAttr",381],[3,"Handler",626],[3,"DiagnosticBuilder",618],[8,"EmissionGuarantee",618],[3,"InvalidAttr",381],[3,"InvalidConstant",381],[3,"MalformedExternSpec",381],[3,"MissingFnSigForExternSpec",381],[3,"AttrOnOpaque",381],[3,"MissingVariant",381],[3,"Span",627],[6,"Ignores",68]],"b":[]},\ "flux_errors":{"doc":"","t":"DDILLLLLLLLLLLLLLLLLFLLKLLFLLLLLLLLLLLLLLMLLLLLLLLL","n":["ErrorGuaranteed","FluxSession","ResultExt","abort_if_errors","allocate_from_iter","allocate_on","as_any","borrow","borrow","borrow_mut","borrow_mut","clone_into","collect_and_apply","collect_and_apply","compare","deref","deref","deref_mut","deref_mut","diagnostic","diagnostic_id","drop","drop","emit","emit_err","emit_fatal","emitter","equals","equivalent","equivalent","equivalent","filterable","filterable","finish_diagnostics","from","from","init","init","into","into","new","parse_sess","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"flux_errors"],[51,"rustc_hir"],[52,"core::iter::traits::collect"],[53,"core::any"],[54,"core::iter::traits::iterator"],[55,"core::ops::function"],[56,"core::cmp"],[57,"rustc_errors"],[58,"rustc_errors::diagnostic"],[59,"core::result"],[60,"rustc_errors::diagnostic_builder"],[61,"rustc_session::options"],[62,"rustc_span::source_map"],[63,"alloc::sync"],[64,"rustc_error_messages"],[65,"rustc_errors::emitter"],[66,"alloc::boxed"],[67,"icu_provider_adapters::filter"],[68,"core::any"]],"d":["Useful type to use with Result<> indicate that an error …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","",""],"i":[0,0,0,1,13,13,13,1,13,1,13,13,1,13,13,1,13,1,13,1,0,1,13,27,1,1,0,13,13,13,13,1,13,1,1,13,1,13,1,13,1,1,13,1,13,1,13,1,13,1,13],"f":[0,0,0,[1,2],[[3,-1],[[4,[-2]]],5,[]],[[-1,3],-2,[],[]],[-1,6,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],9,[],[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[1,11],[[],12],[10,2],[10,2],[[-1,1],[[14,[-2,13]]],[],[]],[[1,-1],13,15],[[1,-1],16,[[15,[16]]]],[[17,[19,[18]],20],[[22,[21]]]],[[-1,6],23,[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,24],[[25,[-2]]],[],[]],[[-1,24],[[25,[-2]]],[],[]],[1,2],[-1,-1,[]],[-1,-1,[]],[[],10],[[],10],[-1,-2,[],[]],[-1,-2,[],[]],[[17,[19,[18]],20],1],0,[-1,-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"FluxSession",0],[15,"tuple"],[3,"Arena",51],[15,"slice"],[8,"IntoIterator",52],[8,"Any",53],[8,"Iterator",54],[8,"FnOnce",55],[4,"Ordering",56],[15,"usize"],[3,"Handler",57],[4,"DiagnosticId",58],[3,"ErrorGuaranteed",0],[4,"Result",59],[8,"IntoDiagnostic",60],[15,"never"],[3,"Options",61],[3,"SourceMap",62],[3,"Arc",63],[6,"LazyFallbackBundle",64],[8,"Emitter",65],[3,"Box",66],[15,"bool"],[15,"str"],[3,"RequestFilterDataProvider",67],[3,"TypeId",53],[8,"ResultExt",0]],"b":[]},\ -"flux_fhir_analysis":{"doc":"","t":"HFAFFFFAFAFFFFFFFFFFFAGDLLFFFFLLLLLALLLLLMLLMLMMLLLLLLMLLLLLLLLLLDDDDDRRRRRMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNEDNDDENNLFFLLLLLLLLLLLLLLLLLMLLLLLLLLFLLLLLLFLFFLLLLFFLLLFLLFFFLFFFFLLLFLLFFLLLLLLLLLLLLLLLLLLLMLAFLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMDRLLLLLLLLLLLLLLLMLLLLLLDRLLLLLLLLLLLLLLMLMLLLLLLDDLLLLLLFFLFFLLLLLLFLLLLLLLFLFFLLLLLLLLLLLLLLALLLLLLLLMLLLLLLLLLLLLALLLLLLLLLLLLMDDDDDDDDDDDDDDDDDDRRRRRRRRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLMLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLFLLLLLLLMLM","n":["DEFAULT_LOCALE_RESOURCE","adt_def","annot_check","check_crate_wf","check_wf","check_wf_flux_item","check_wf_rust_item","conv","defns","errors","fn_sig","func_decls","generics_of","invariants_of","item_bounds","normalize","predicates_of","provide","qualifiers","type_of","variants_of","wf","LocsMap","Zipper","borrow","borrow_mut","check_alias","check_enum_def","check_fn_sig","check_struct_def","collect_and_apply","deref","deref_mut","drop","emit_err","errors","filterable","from","from","from_cycle_error","init","inner","into","into_query_param","locs","new","self_ty","sess","to_predicate","to_result","try_from","try_into","type_id","vzip","wfckresults","zip_bty","zip_constraints","zip_enum_variant","zip_fn_sig","zip_generic_arg","zip_lifetime","zip_path","zip_qpath","zip_ty","zip_tys","ArrayLenMismatch","FieldCountMismatch","FunArgCountMismatch","GenericArgCountMismatch","InvalidRefinement","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ArrayLenMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FieldCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FunArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_GenericArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidRefinement","args","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","expected","expected_args","expected_fields","expected_len","expected_span","expected_span","expected_span","expected_span","expected_span","expected_ty","fields","filterable","filterable","filterable","filterable","filterable","found","from","from","from","from","from","from","from","from","from","from","from_btys","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_paths","from_qpaths","from_tys","from_variants","has_note","init","init","init","init","init","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","len","new","new","new","note","span","span","span","span","span","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","with_note","ConvCtxt","EarlyBound","Entry","Env","LateBoundList","Layer","LookupResult","LookupResultKind","Sort","Unit","add_coercions","adt_def_for_enum","adt_def_for_struct","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","collapse","collapse","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","conv_base_ty","conv_constr","conv_defn","conv_enum_def_variants","conv_enum_variant","conv_expr","conv_exprs","conv_fn_bound","conv_fn_output","conv_fn_sig","conv_func","conv_func_decl","conv_func_sort","conv_generic_args","conv_generic_args_into","conv_generic_bound","conv_generic_bounds","conv_generic_predicates","conv_generics","conv_indexed_path","conv_indexed_type","conv_invariant","conv_invariants","conv_invariants","conv_lifetime","conv_lit","conv_opaque_ty","conv_qualifier","conv_refine_arg","conv_refine_param","conv_sort","conv_sort_ctor","conv_sorts","conv_struct_def_variant","conv_trait_bound","conv_trait_bound_generic_param","conv_ty","conv_ty","conv_type_bindings","def_id_to_param_index","def_id_to_param_ty","depth","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","early_bound","empty","errors","expand_type_alias","fill_generic_args_defaults","filter_unit","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","get","get_field","init","init","init","init","init","init","into","into","into","into","into","into","into_bound_vars","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_record","kind","layers","list","lookup","map","name","new","new","new","new","node_sort","pop_layer","push_layer","resolve_param_sort","sort_args_for_adt","to_bound_vars","to_early_bound_vars","to_expr","to_owned","to_owned","to_path","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","top_layer","trait_defines_associated_item_named","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","wfckresults","conv","idx","infer_mode","sort","collapse","entry","idx","level","sort","AssocTypeNotFound","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AssocTypeNotFound","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","new","span","to_predicate","to_result","try_from","try_into","type_id","vzip","DefinitionCycle","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DefinitionCycle","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","msg","new","span","to_predicate","to_result","try_from","try_into","type_id","vzip","Wf","XiCtxt","borrow","borrow","borrow_mut","borrow_mut","check_base_ty","check_constraint","check_defn","check_enum_def","check_fn_output","check_fn_quals","check_fn_sig","check_generic_arg","check_generic_args","check_generic_args_kinds","check_generic_bound","check_generic_predicate","check_generic_predicates","check_opaque_ty","check_opaque_ty","check_output_locs","check_param_uses_expr","check_param_uses_refine_arg","check_params_are_determined","check_path","check_pred","check_qualifier","check_refine_arg","check_struct_def","check_ty_alias","check_ty_is_base","check_type","check_type_bindings","check_variant","collect_and_apply","collect_and_apply","default","deref","deref","deref_mut","deref_mut","drop","drop","emit_err","errors","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","genv","init","init","insert","into","into","into_query_param","into_query_param","new","remove","rollback_to","snapshot","sort_of_bty","sortck","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","xi","ArgCountMismatch","CannotInferSort","DuplicatedEnsures","EarlyBoundArgCountMismatch","ExpectedFun","ExpectedNumeric","FieldNotFound","InvalidBaseInstance","InvalidParamPos","InvalidPrimitiveDotAccess","MissingEnsures","NoEquality","ParamCountMismatch","ParamNotDetermined","SortAnnotationNeeded","SortMismatch","UnexpectedFun","UnknownQualifier","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_CannotInferSort","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DuplicatedEnsures","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_EarlyBoundArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ExpectedFun","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ExpectedNumeric","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FieldNotFound","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidBaseInstance","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidParamPos","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidPrimitiveDotAccess","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MissingEnsures","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_NoEquality","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ParamCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ParamNotDetermined","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SortAnnotationNeeded","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SortMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnexpectedFun","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnknownQualifier","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expected","expected","expected","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fld","found","found","found","found","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_pred","loc","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","sort","sort","sort","sort","sort","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","sym","thing","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","InferCtxt","borrow","borrow_mut","check_abs","check_binary_op","check_expr","check_loc","check_record","check_refine_arg","collect_and_apply","deref","deref_mut","drop","emit_err","emit_field_not_found","emit_sort_mismatch","ensure_resolved_var","eq_vids","filterable","from","from","from_cycle_error","genv","has_equality","index","infer_mode","init","instantiate_func_sort","into","into_query_param","into_results","is_bool","is_coercible","is_coercible_to_func","is_coercible_to_numeric","is_eq_sort_vid","is_func","is_int","is_numeric","is_single_field_record","new","next_eq_sort_vid","next_sort_vid","params","push_layer","resolve_param","resolve_params_sorts","resolve_sort","synth_app","synth_binary_op","synth_expr","synth_func","synth_lit","synth_unary_op","to_predicate","to_result","try_equate","try_from","try_into","type_id","unification_table","vzip","wfckresults"],"q":[[0,"flux_fhir_analysis"],[22,"flux_fhir_analysis::annot_check"],[65,"flux_fhir_analysis::annot_check::errors"],[206,"flux_fhir_analysis::conv"],[421,"flux_fhir_analysis::conv::Entry"],[425,"flux_fhir_analysis::conv::LookupResultKind"],[430,"flux_fhir_analysis::conv::errors"],[454,"flux_fhir_analysis::errors"],[479,"flux_fhir_analysis::wf"],[560,"flux_fhir_analysis::wf::errors"],[1013,"flux_fhir_analysis::wf::sortck"],[1076,"flux_middle::global_env"],[1077,"rustc_span::def_id"],[1078,"flux_middle::rty"],[1079,"flux_middle::queries"],[1080,"rustc_span"],[1081,"core::result"],[1082,"flux_middle::fhir"],[1083,"flux_middle::fhir"],[1084,"rustc_span::symbol"],[1085,"flux_middle::rty::normalize"],[1086,"flux_middle::rty"],[1087,"flux_middle::rty"],[1088,"flux_middle::rty"],[1089,"flux_middle::rty::fold"],[1090,"flux_middle::rty"],[1091,"flux_errors"],[1092,"flux_middle::fhir"],[1093,"flux_middle::fhir"],[1094,"core::ops::function"],[1095,"rustc_errors::diagnostic_builder"],[1096,"icu_provider_adapters::filter"],[1097,"rustc_query_system::query::job"],[1098,"flux_middle::fhir"],[1099,"core::any"],[1100,"flux_middle::fhir"],[1101,"rustc_errors::diagnostic_builder"],[1102,"flux_middle::rty::expr"],[1103,"flux_middle::fhir"],[1104,"flux_middle::fhir"],[1105,"flux_middle::fhir"],[1106,"flux_middle::fhir"],[1107,"flux_middle::fhir"],[1108,"core::fmt"],[1109,"core::fmt"],[1110,"flux_middle::fhir"],[1111,"flux_middle::rty::expr"],[1112,"rustc_middle::ty::assoc"],[1113,"rustc_hash"],[1114,"alloc::string"]],"d":["Raw content of Fluent resource for this crate, generated …","","Check if an fhir annotation is a valid refinement of the …","","","","","Conversion from types in fhir to types in rty","","","","","","","","","","","","","","Checks type well-formedness","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We track parameters of unit sort separately because we …","","","","","","","","","","","","","","","","","","","","","Whether to collapse the layer into a single variable of …","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether to skip variables bound to Unit in this layer.","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The index of the entry in the layer skipping all …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Keeps track of all refinement parameters that are used as …","","","","","","","","","","","","","","","","","","","","","Checks that refinement parameters of function sort are …","Checks that refinement parameters of function sort are …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","sort variables that can only be instantiated to sorts that …","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","","","","Whether a value of sort1 can be automatically coerced to a …","","","","","","","","","","","","Push a layer of binders. We assume all names are fresh so …","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,39,0,0,0,0,39,39,39,39,39,0,39,39,39,39,39,160,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0,0,0,60,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,61,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,61,60,56,62,55,60,61,62,56,55,56,55,60,61,62,56,61,55,55,60,60,61,61,62,62,56,56,55,55,60,61,62,56,55,55,55,56,55,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,62,60,61,62,55,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,0,117,0,0,117,0,0,0,69,69,65,0,0,65,71,68,69,116,117,65,71,68,69,116,117,68,69,68,69,68,68,65,71,68,69,116,117,65,65,0,65,65,65,65,65,65,0,65,0,0,65,65,65,65,0,0,65,65,65,0,65,65,0,0,0,65,0,0,0,0,65,65,65,0,65,65,0,0,71,65,71,68,69,116,117,65,71,68,69,116,117,65,71,68,69,116,117,71,68,0,0,65,68,65,71,68,69,116,117,68,69,116,117,65,65,71,71,68,68,69,69,116,116,117,117,65,71,68,69,116,117,65,68,116,65,71,68,69,116,117,65,71,68,69,116,117,68,68,65,71,68,69,116,117,116,116,71,68,71,68,116,65,71,68,69,65,71,71,65,0,68,71,116,68,69,116,65,71,68,69,116,117,65,71,68,69,116,117,71,65,65,71,68,69,116,117,65,71,68,69,116,117,65,71,68,69,116,117,65,71,68,69,116,117,65,161,161,161,161,162,162,163,162,163,0,0,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,0,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,0,130,134,130,134,130,130,0,0,130,0,0,130,130,130,130,130,130,0,130,130,130,130,130,130,130,0,130,0,0,130,130,130,130,130,134,134,130,134,130,134,130,134,130,0,130,134,130,130,134,134,130,134,130,130,134,134,130,134,130,134,130,134,134,134,130,0,130,134,130,134,130,134,130,134,130,134,130,134,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,146,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,147,136,137,138,142,145,146,136,136,137,137,138,138,139,139,140,140,141,141,142,142,143,143,144,144,145,145,146,146,147,147,148,148,149,149,150,150,151,151,152,152,153,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,143,139,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,143,144,147,148,150,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,151,137,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,149,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,131,131,131,131,131,131,131,131,131,131],"f":[0,[[1,2],[[4,[3]]]],0,[1,[[7,[5,6]]]],[[1,8],[[4,[[10,[9]]]]]],[[1,11],[[4,[[10,[9]]]]]],[[1,2],[[4,[[10,[9]]]]]],0,[1,[[4,[12]]]],0,[[1,2],[[4,[[14,[13]]]]]],[1,[[16,[11,15]]]],[[1,2],[[4,[17]]]],[[1,2],[[4,[[19,[18]]]]]],[[1,2],[[4,[[14,[[21,[20]]]]]]]],[[1,-1],[[4,[-1]]],22],[[1,2],[[4,[[14,[23]]]]]],[24,5],[1,[[4,[[19,[25]]]]]],[[1,2],[[4,[[14,[26]]]]]],[[1,2],[[4,[[28,[[14,[27]]]]]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[29,30,9,31],[[7,[5,6]]]],[[29,30,9,32],[[7,[5,6]]]],[[29,30,9,33,34],[[7,[5,6]]]],[[29,30,9,35],[[7,[5,6]]]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[39,-1],6,40],0,[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[30,9,[46,[45]]],39],0,0,[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,-2,[],[]],0,[[39,48,48],[[7,[5,6]]]],[[39,[44,[49]]],[[7,[5,6]]]],[[39,50,50],[[7,[5,6]]]],[[39,34,34],[[7,[5,6]]]],[[39,51,51],[[7,[5,6]]]],[[39,52,52],5],[[39,53,53],[[7,[5,6]]]],[[39,54,54],[[7,[5,6]]]],[[39,45,45],[[7,[5,6]]]],[[39,[44,[45]],[44,[45]]],[[7,[5,6]]]],0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],0,[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[38,5],[38,5],[38,5],0,0,0,0,0,0,0,0,0,0,0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],0,[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[48,48],55],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[53,53],55],[[54,54],55],[[45,45],55],[[50,50],56],0,[[],38],[[],38],[[],38],[[],38],[[],38],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[55,57],[[58,[-1]]],59],[[60,57],[[58,[-1]]],59],[[61,57],[[58,[-1]]],59],[[62,57],[[58,[-1]]],59],[[56,57],[[58,[-1]]],59],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[34,34],60],[[53,53],61],[[63,63],62],0,0,0,0,0,0,[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[55,-1],55,64],0,0,0,0,0,0,0,0,0,0,[[65,66,67],66],[[1,[19,[18]],32],3],[[1,[19,[18]],35],3],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[68,68],[69,69],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[65,[44,[70]]],68],0,[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[65,71,48],[[4,[72]]]],[[65,71,49],[[4,[73]]]],[[1,74,9],75],[[1,32,9],[[4,[[19,[76]]]]]],[[1,77,50,9],[[4,[76]]]],[[65,71,78],66],[[65,71,[44,[78]]],[[21,[66]]]],[[65,71,72,79,80,[19,[20]]],[[4,[5]]]],[[65,71,81],[[4,[[83,[82]]]]]],[[1,2,34,9],[[4,[[14,[13]]]]]],[[65,71,84],66],[[1,85],15],[[1,86],87],[[65,71,77,[44,[51]]],[[4,[[19,[88]]]]]],[[65,71,[44,[51]],[19,[88]]],[[4,[5]]]],[[65,71,72,89,[19,[20]]],[[4,[5]]]],[[65,71,72,90],[[4,[[19,[20]]]]]],[[1,2,91,9],[[4,[[14,[23]]]]]],[[1,92,93,[44,[70]],[46,[2]]],[[4,[17]]]],[[65,71,53,94],[[4,[72]]]],[[65,71,48,94],[[4,[72]]]],[[65,71,78],18],[[1,[44,[70]],[44,[78]],9],[[19,[18]]]],[[65,71,[44,[78]]],[[19,[18]]]],[[65,71,52],95],[96,97],[[1,77,98,9],[[4,[[21,[20]]]]]],[[1,99,9],25],[[65,71,100],[[5,[66,[102,[101]]]]]],[[1,70],103],[[1,104],105],[106,107],[[1,-1],[[19,[105]]],108],[[1,35,9],[[4,[[28,[76]]]]]],[[65,71,72,77,[44,[51]],[44,[109]],[19,[20]]],[[4,[5]]]],[[65,109],[[4,[110]]]],[[1,45,9],[[4,[[83,[72]]]]]],[[65,71,45],[[4,[72]]]],[[65,71,72,77,[44,[111]],[19,[20]]],[[4,[5]]]],[[29,2],112],[[29,2],113],[71,38],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],0,[[],68],0,[[1,31,9],[[4,[[83,[72]]]]]],[[65,77,[19,[88]]],[[4,[5]]]],0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[68,114],115],[[69,114],115],[[116,114],115],[[117,114],115],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],0,[[68,-1,112],[[46,[117]]],[[119,[118]]]],[[116,1,120],66],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[68,[[21,[110]]]],[68,[[0,[36]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[116,[[46,[77]]]],0,0,[[65,112,[44,[70]],101],68],[[71,121],116],0,0,[[1,9],65],[[[44,[70]]],71],[[65,112,[44,[70]],101,101],68],[[1,112,104,122],69],[[65,67],104],[71,68],[[71,68],5],[[65,70],104],[[1,-1],[[21,[104]]],[[123,[77]]]],[68,[[21,[110]]]],[71,[[21,[66]]]],[116,66],[-1,-2,[],[]],[-1,-2,[],[]],[116,124],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[71,68],[[65,77,125,120],[[46,[126]]]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],[-1,-2,[],[]],[[127,57],[[58,[-1]]],59],[-1,-2,[],[]],[120,127],0,[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[-1,41],[[42,[-2]]],[],[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],[-1,-2,[],[]],[[128,57],[[58,[-1]]],59],[-1,-2,[],[]],0,[[129,[19,[11]]],128],0,[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[130,131,48],[[7,[5,6]]]],[[130,131,49],[[7,[5,6]]]],[[1,74],[[7,[9,6]]]],[[1,32],[[7,[9,6]]]],[[130,131,81],[[7,[5,6]]]],[[30,[132,[11]],[19,[120]]],[[7,[5,6]]]],[[1,34,33],[[7,[9,6]]]],[[130,131,51],[[7,[5,6]]]],[[130,131,77,[44,[51]]],[[7,[5,6]]]],[[130,77,[44,[51]]],[[7,[5,6]]]],[[130,131,89],[[7,[5,6]]]],[[130,131,133],[[7,[5,6]]]],[[130,131,91],[[7,[5,6]]]],[[1,98,33],[[7,[9,6]]]],[[130,131,98],[[7,[5,6]]]],[[130,34],[[7,[5,6]]]],[[130,131,78,101],[[7,[5,6]]]],[[130,131,100],[[7,[5,6]]]],[[130,131,[44,[70]]],[[7,[5,6]]]],[[130,131,53],[[7,[5,6]]]],[[130,131,78],[[7,[5,6]]]],[[1,99],[[7,[9,6]]]],[[130,131,100,104],[[7,[5,6]]]],[[1,35],[[7,[9,6]]]],[[1,31],[[7,[9,6]]]],[[130,45],[[7,[5,6]]]],[[130,131,45],[[7,[5,6]]]],[[130,131,[44,[111]]],[[7,[5,6]]]],[[130,131,50],[[7,[5,6]]]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[],134],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[[130,-1],[[7,[-2,6]]],40,[]],0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],0,[[],38],[[],38],[[134,118],5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,130],[[134,118],101],[[134,135],5],[134,135],[[130,48],104],0,[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],0,0,0,0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],0,0,0,0,0,0,0,[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[136,57],[[58,[-1]]],59],[[137,57],[[58,[-1]]],59],[[138,57],[[58,[-1]]],59],[[139,57],[[58,[-1]]],59],[[140,57],[[58,[-1]]],59],[[141,57],[[58,[-1]]],59],[[142,57],[[58,[-1]]],59],[[143,57],[[58,[-1]]],59],[[144,57],[[58,[-1]]],59],[[145,57],[[58,[-1]]],59],[[146,57],[[58,[-1]]],59],[[147,57],[[58,[-1]]],59],[[148,57],[[58,[-1]]],59],[[149,57],[[58,[-1]]],59],[[150,57],[[58,[-1]]],59],[[151,57],[[58,[-1]]],59],[[152,57],[[58,[-1]]],59],[[153,57],[[58,[-1]]],59],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[129,104,104],136],[[[46,[129]],154,38,38],137],[[129,38,38],138],[121,139],[129,140],[121,141],[[129,104],142],[[129,104],143],[[129,104],144],[[129,104],145],[[129,38,38],146],[[104,120],147],[[104,120],148],[45,149],[[129,104],150],[121,151],[70,152],[121,153],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],0,[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[131,[19,[70]],78,129,67,104],[[7,[5,6]]]],[[131,78,155,78,78,104],[[7,[5,6]]]],[[131,78,104],[[7,[5,6]]]],[[131,121],[[7,[5,6]]]],[[131,77,[44,[104]],[44,[100]],129],[[7,[5,6]]]],[[131,100,104],[[7,[5,6]]]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[131,-1],6,40],[[131,104,120],6],[[131,129,104,104],6],[[131,121],[[7,[104,6]]]],0,[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],0,[[131,104],101],[[131,-1],[],[[119,[118]]]],[[131,121],122],[[],38],[[131,86],156],[-1,-2,[],[]],[-1,-2,[],[]],[131,9],[[131,104],101],[[131,104,104,67],101],[[131,104,67],[[46,[86]]]],[[131,104,67],[[46,[104]]]],[[131,157],101],[[131,104],[[46,[86]]]],[[131,104],101],[[131,104],101],[[131,104],[[46,[104]]]],[[1,158],131],[131,157],[131,157],0,[[131,-1],5,108],[[131,70],[[46,[104]]]],[[131,[44,[70]]],[[7,[5,6]]]],[[131,104],[[46,[104]]]],[[131,84,[44,[78]],129],[[7,[104,6]]]],[[131,78,155,78,78],[[7,[104,6]]]],[[131,78],[[7,[104,6]]]],[[131,84],[[7,[156,6]]]],[96,104],[[131,159,78],[[7,[104,6]]]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[[131,104,104],[[46,[104]]]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],0,[-1,-2,[],[]],0],"c":[],"p":[[3,"GlobalEnv",1076],[3,"LocalDefId",1077],[3,"AdtDef",1078],[6,"QueryResult",1079],[15,"tuple"],[3,"ErrorGuaranteed",1080],[4,"Result",1081],[4,"FluxLocalDefId",1082],[3,"WfckResults",1082],[3,"Rc",1083],[3,"Symbol",1084],[3,"Defns",1085],[6,"PolyFnSig",1078],[3,"EarlyBinder",1078],[3,"FuncDecl",1078],[6,"FxHashMap",1086],[3,"Generics",1078],[3,"Invariant",1078],[3,"Vec",1087],[3,"Clause",1078],[6,"List",1088],[8,"TypeFoldable",1089],[3,"GenericPredicates",1078],[3,"Providers",1079],[3,"Qualifier",1078],[6,"PolyTy",1078],[6,"PolyVariants",1078],[4,"Opaqueness",1078],[3,"TyCtxt",1090],[3,"FluxSession",1091],[3,"TyAlias",1082],[3,"EnumDef",1082],[3,"OwnerId",1092],[3,"FnSig",1082],[3,"StructDef",1082],[8,"Iterator",1093],[8,"FnOnce",1094],[15,"usize"],[3,"Zipper",22],[8,"IntoDiagnostic",1095],[15,"str"],[3,"RequestFilterDataProvider",1096],[3,"QueryInfo",1097],[15,"slice"],[3,"Ty",1082],[4,"Option",1098],[3,"TypeId",1099],[3,"BaseTy",1082],[4,"Constraint",1082],[3,"VariantDef",1082],[4,"GenericArg",1082],[4,"Lifetime",1082],[3,"Path",1082],[4,"QPath",1082],[3,"InvalidRefinement",65],[3,"FieldCountMismatch",65],[3,"Handler",1100],[3,"DiagnosticBuilder",1095],[8,"EmissionGuarantee",1095],[3,"FunArgCountMismatch",65],[3,"GenericArgCountMismatch",65],[3,"ArrayLenMismatch",65],[3,"ArrayLen",1082],[8,"ToString",1101],[3,"ConvCtxt",206],[6,"Expr",1102],[3,"FhirId",1082],[3,"Layer",206],[4,"Entry",206],[3,"RefineParam",1082],[3,"Env",206],[6,"Ty",1078],[4,"Constraint",1078],[3,"Defn",1082],[3,"Defn",1078],[6,"PolyVariant",1078],[3,"DefId",1077],[3,"Expr",1082],[3,"PolyTraitRef",1082],[4,"ClosureKind",1103],[3,"FnOutput",1082],[3,"FnOutput",1078],[3,"Binder",1078],[4,"Func",1082],[3,"FuncDecl",1082],[3,"PolyFuncSort",1082],[3,"PolyFuncSort",1078],[4,"GenericArg",1078],[4,"GenericBound",1082],[6,"GenericBounds",1082],[3,"GenericPredicates",1082],[3,"Generics",1104],[3,"Generics",1082],[3,"Index",1078],[4,"Region",1104],[4,"Lit",1082],[4,"Constant",1105],[3,"OpaqueTy",1082],[3,"Qualifier",1082],[4,"RefineArg",1082],[15,"bool"],[4,"TupleTree",1078],[3,"RefineParam",1078],[4,"Sort",1082],[4,"Sort",1078],[4,"SortCtor",1082],[4,"SortCtor",1078],[8,"IntoIterator",1106],[3,"GenericParam",1082],[4,"BoundVariableKind",1078],[3,"TypeBinding",1082],[15,"u32"],[3,"ParamTy",1107],[3,"Formatter",1108],[6,"Result",1108],[3,"LookupResult",206],[4,"LookupResultKind",206],[3,"Name",1082],[8,"Borrow",1109],[6,"SurfaceIdent",1082],[3,"Ident",1082],[4,"InferMode",1082],[8,"Into",1110],[3,"Path",1102],[4,"AssocKind",1111],[3,"AssocItem",1111],[3,"AssocTypeNotFound",430],[3,"DefinitionCycle",454],[3,"Span",1112],[3,"Wf",479],[3,"InferCtxt",1013],[6,"FxHashSet",1086],[3,"WhereBoundPredicate",1082],[3,"XiCtxt",479],[3,"Snapshot",1113],[3,"SortMismatch",560],[3,"ArgCountMismatch",560],[3,"EarlyBoundArgCountMismatch",560],[3,"DuplicatedEnsures",560],[3,"UnknownQualifier",560],[3,"MissingEnsures",560],[3,"ExpectedFun",560],[3,"InvalidParamPos",560],[3,"UnexpectedFun",560],[3,"ExpectedNumeric",560],[3,"ParamCountMismatch",560],[3,"FieldNotFound",560],[3,"InvalidPrimitiveDotAccess",560],[3,"InvalidBaseInstance",560],[3,"NoEquality",560],[3,"ParamNotDetermined",560],[3,"SortAnnotationNeeded",560],[3,"CannotInferSort",560],[3,"String",1101],[4,"BinOp",1105],[3,"FuncSort",1082],[3,"SortVid",1082],[4,"FluxOwnerId",1082],[4,"UnOp",1105],[6,"LocsMap",22],[13,"Sort",421],[13,"LateBoundList",425],[13,"EarlyBound",425]],"b":[]},\ -"flux_fixpoint":{"doc":"","t":"NNNNNENNNNNDDDNENENDNNDENENNENDNNNNNNNNNDNDNNNNNDNNNNNNDENENDNNNNNEEDNDNENNNNNNMAMLLLLLLLLLLLLLLLLLLLLLLLLLMMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLLLLLMLLLLLLLLLLLLLLMMMMMLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLDNNSESLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMLLNNNNNENNNNNDDNENEHNNENDNNENDNNNNNNNNNNDNNSSSSSSNNNRRRDNNNSSNNNDENDENDNNNNEENSSNENNNNNSSLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLL","n":["Add","And","And","App","App","BinOp","BinaryOp","BitVec","Bool","Bool","Conj","Const","ConstInfo","ConstName","ConstVar","Constant","Constant","Constraint","Crash","CrashInfo","Div","Eq","Error","Expr","Expr","FixpointResult","ForAll","Fst","Func","Func","FuncSort","Ge","Gt","Guard","IfThenElse","Iff","Imp","Int","Int","Itf","KVar","KVar","KVid","Le","Lt","Map","Mod","Mul","Name","Ne","Neg","Not","Or","Pair","Pair","PolyFuncSort","Pred","Pred","Proj","Proj","Qualifier","Real","Real","Safe","Set","Snd","Sort","SortCtor","Stats","Sub","Task","Uif","UnOp","UnaryOp","Unit","Unit","Unsafe","Var","Var","args","big_int","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check_with_cache","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","comment","comments","constants","constraint","constraint","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","fsort","global","hash","hash","hash","hash_with_default","id","init","init","init","init","init","init","init","inputs_and_output","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvars","kvid","name","name","name","new","new","num_chck","num_cstr","num_iter","num_vald","orig","params","private","private","private","qualifiers","scrape_quals","sort","sorts","sorts","tag","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BigInt","Negative","NonNegative","ONE","Sign","ZERO","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","cmp","collect_and_apply","collect_and_apply","compare","compare","compare","compare","decode","decode","deref","deref","deref_mut","deref_mut","drop","drop","encode","encode","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","hash","hash","init","init","int_max","int_min","into","into","into_query_param","into_query_param","partial_cmp","partial_cmp","sign","to_owned","to_owned","to_predicate","to_predicate","to_result","to_result","to_string","try_from","try_from","try_into","try_into","type_id","type_id","uint_max","val","vzip","vzip","Add","And","And","App","App","BinOp","BinaryOp","BitVec","Bool","Bool","Conj","Const","ConstName","ConstVar","Constant","Constant","Constraint","DEFAULT_QUALIFIERS","Div","Eq","Expr","Expr","FmtParens","ForAll","Fst","Func","Func","FuncSort","Ge","Gt","Guard","IfThenElse","Iff","Imp","Int","Int","Itf","KVar","KVid","Le","Lt","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Map","Mod","Mul","NAME0","NAME1","NAME2","Name","Ne","Neg","Not","ONE","ONE","Or","Pair","Pair","PolyFuncSort","Pred","Pred","PredTag","Proj","Proj","Qualifier","Real","Real","Set","Snd","Sort","SortCtor","Sub","TRUE","TRUE","Uif","UnOp","UnaryOp","Unit","Unit","Var","Var","ZERO","ZERO","add","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","args","as_any","as_any","as_any","as_any","as_any","as_any","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","backward_checked","backward_checked","backward_checked","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","decode","decode","decode","decode","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","fsort","ge","global","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","iff","imp","index","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs_and_output","int_max","int_min","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_concrete","is_concrete","is_trivially_true","name","name","ne","new","new","new","new","or","params","partial_cmp","partial_cmp","partial_cmp","private","private","private","steps_between","steps_between","steps_between","to_bool","to_int","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_max","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_fixpoint"],[274,"flux_fixpoint::big_int"],[375,"flux_fixpoint::constraint"],[1101,"std::io::error"],[1102,"core::fmt"],[1103,"core::str::traits"],[1104,"alloc::string"],[1105,"flux_common::cache"],[1106,"core::iter::traits::iterator"],[1107,"core::ops::function"],[1108,"core::result"],[1109,"serde::de"],[1110,"icu_provider_adapters::filter"],[1111,"core::fmt"],[1112,"rustc_span"],[1113,"core::hash"],[1114,"alloc::vec"],[1115,"rustc_middle::ty::context"],[1116,"core::any"],[1117,"rustc_hir"],[1118,"core::iter::traits::collect"],[1119,"rustc_middle::arena"],[1120,"core::any"],[1121,"rustc_serialize::serialize"],[1122,"rustc_serialize::serialize"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","interpreted (theory) function","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uninterepreted function","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A signed integer in the range [-2^128, 2^128], represented …","","","","This are in order so negative is less than non-negative.","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","","","","Given the bit width of a signed integer type, produces the …","Given the bit width of a signed integer type, produces the …","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Given the bit width of an unsigned integer type, produces …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","interpreted (theory) function","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uninterepreted function","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","Creates a new index from a given usize.","","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a usize.","","Extracts the value of this index as a usize.","","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","See BigInt::int_max","See BigInt::int_min","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns true if the constraint has at least one concrete …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::uint_max","","","","","","","","","","","","","","","","","","","",""],"i":[60,65,60,34,62,0,62,34,34,53,30,0,0,0,62,0,62,0,2,0,60,60,0,0,65,0,30,58,0,34,0,60,60,30,62,60,60,34,53,57,0,65,0,60,60,54,60,60,0,60,61,61,60,34,62,0,0,30,0,62,0,34,53,2,54,58,0,0,0,60,0,57,0,62,34,62,2,62,57,31,0,31,1,8,2,16,12,17,23,1,8,2,16,12,17,23,1,1,8,8,1,8,2,16,12,17,23,23,1,1,0,1,12,1,8,2,16,12,17,23,1,8,2,16,12,17,23,2,16,12,17,1,8,2,16,12,17,23,1,8,2,16,12,17,23,1,1,8,8,2,16,12,17,23,23,1,1,8,8,2,2,16,16,12,12,17,17,23,23,1,8,2,16,12,17,23,56,31,1,8,23,1,16,1,8,2,16,12,17,23,55,1,8,2,16,12,17,23,1,8,2,16,12,17,23,1,23,31,59,8,1,23,12,12,12,12,8,56,33,51,52,1,1,8,1,23,16,8,1,8,2,16,12,17,23,1,8,2,16,12,17,23,1,8,23,1,8,2,16,12,17,23,1,8,2,16,12,17,23,1,8,2,16,12,17,23,59,1,8,2,16,12,17,23,0,42,42,41,0,41,41,41,42,42,41,41,42,42,41,42,41,42,41,42,41,42,41,42,41,42,41,42,41,41,42,42,41,42,41,42,41,42,41,42,41,42,41,42,41,42,41,41,41,41,41,42,42,42,42,42,41,42,41,41,42,41,41,41,41,41,41,42,42,41,42,41,42,41,42,41,41,41,42,41,42,41,42,41,41,42,41,42,41,42,41,41,42,41,42,41,42,41,41,41,42,60,65,60,34,62,0,62,34,34,53,30,0,0,62,0,62,0,0,60,60,0,65,0,30,58,0,34,0,60,60,30,62,60,60,34,53,57,65,0,60,60,33,51,52,33,51,52,54,60,60,0,0,0,0,60,61,61,62,53,60,34,62,0,0,30,0,0,62,0,34,53,54,58,0,0,60,30,65,57,0,62,34,62,62,57,62,53,33,51,52,58,58,59,59,60,60,61,61,53,53,33,33,51,51,52,52,58,58,59,59,60,60,61,61,53,53,33,33,51,51,52,52,53,31,60,61,53,33,51,52,33,51,52,33,51,52,33,51,52,31,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,34,54,55,56,57,58,59,60,61,53,33,51,52,34,54,55,56,57,58,59,60,61,53,33,51,52,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,33,33,51,51,52,52,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,60,61,53,33,51,52,62,60,61,53,53,33,51,52,60,61,53,33,51,52,60,60,60,60,60,61,61,61,61,61,53,53,53,53,53,33,33,33,33,33,51,51,51,51,51,52,52,52,52,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,34,54,55,56,65,65,62,62,57,57,58,31,59,60,60,61,61,53,53,33,51,52,33,51,52,30,30,63,63,64,64,34,34,54,54,55,55,56,56,65,65,62,62,62,62,57,57,58,58,31,31,59,59,60,60,61,61,53,53,53,53,53,53,53,33,33,33,33,51,51,51,51,52,52,52,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,33,51,52,33,51,52,33,51,52,56,53,31,53,30,34,54,55,56,65,62,57,58,31,60,61,53,33,51,52,53,53,33,33,51,51,52,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,55,53,53,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,65,65,31,59,53,56,33,51,52,53,56,33,51,52,33,51,52,33,51,52,53,53,34,54,55,56,57,58,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,31,60,61,53,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52,53,59,30,63,64,34,54,55,56,65,62,57,58,31,59,60,61,53,33,51,52],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[1,[-1]]],[[3,[[2,[-1]]]]],[4,5]],[[[1,[-1]],6,7],[[3,[[2,[-1]]]]],[4,5]],[8,8],[[-1,-2],9,[],[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],0,0,0,0,0,[[],12],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[-1,[[14,[[2,[-2]]]]],15,5],[-1,[[14,[[16,[-2]]]]],15,5],[-1,[[14,[12]]],15],[-1,[[14,[17]]],15],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[[1,[-1]],20],21,4],[[[1,[-1]],20],21,4],[[8,20],21],[[8,20],21],[[[2,[-1]],20],21,22],[[[16,[-1]],20],21,22],[[12,20],21],[[17,20],21],[[23,20],21],[[23,20],21],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],0,0,[[[1,[-1]],-2],9,[],27],[[8,-1],9,27],[[23,-1],9,27],[[[1,[-1]]],28,[4,5]],0,[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[[[29,[6]],[29,[8]],[29,[23]],[30,[-1]],[29,[31]],[29,[6]],32],[[1,[-1]]],[4,5]],[[33,[29,[34]],6],23],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[-1,40,[]],[-1,40,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[41,41],[42,42],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[41,41],43],[[42,42],43],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[-1,41,44],[-1,42,44],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,9],[13,9],[[41,-1],9,45],[[42,-1],9,45],[[41,41],32],[[42,42],32],[[-1,40],32,[]],[[-1,40],32,[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[41,20],21],[[41,20],21],[[42,20],21],[46,41],[-1,-1,[]],[13,41],[47,41],[48,41],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[41,-1],9,27],[[42,-1],9,27],[[],13],[[],13],[49,41],[49,41],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[41,41],[[50,[43]]]],[[42,42],[[50,[43]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,6,[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,36,[]],[-1,36,[]],[49,41],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[33,13],33],[[51,13],51],[[52,13],52],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[37,-1],[[25,[-2]]],38,[]],[[39,-1],[[25,[-2]]],38,[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[-1,37],-2,[],[]],[[-1,39],-2,[],[]],[[53,53],[[50,[53]]]],0,[-1,40,[]],[-1,40,[]],[-1,40,[]],[-1,40,[]],[-1,40,[]],[-1,40,[]],[33,49],[51,49],[52,49],[33,13],[51,13],[52,13],[[33,13],[[50,[33]]]],[[51,13],[[50,[51]]]],[[52,13],[[50,[52]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[34,34],[54,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[53,53],[33,33],[51,51],[52,52],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[33,33],43],[[51,51],43],[[52,52],43],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],-3,10,11,[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[[-1,-2],43,[],[]],[-1,60,44],[-1,61,44],[-1,53,44],[-1,33,44],[-1,51,44],[-1,52,44],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,-1,[]],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[13,9],[[60,-1],9,45],[[61,-1],9,45],[[53,-1],9,45],[[33,-1],9,45],[[51,-1],9,45],[[52,-1],9,45],[[62,62],62],[[60,60],32],[[61,61],32],[[53,53],53],[[53,53],32],[[33,33],32],[[51,51],32],[[52,52],32],[[-1,40],32,[]],[[-1,40],32,[]],[[-1,40],32,[]],[[-1,40],32,[]],[[-1,40],32,[]],[[-1,40],32,[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[-1,18],[[19,[-2]]],[],[]],[[[30,[-1]],20],21,4],[[[63,[-1]],20],21,4],[[64,20],21],[[34,20],21],[[34,20],21],[[54,20],21],[[55,20],21],[[56,20],21],[[65,20],21],[[65,20],21],[[62,20],21],[[62,20],21],[[57,20],21],[[57,20],21],[[58,20],21],[[31,20],21],[[59,20],21],[[60,20],21],[[60,20],21],[[61,20],21],[[61,20],21],[[53,20],21],[[53,20],21],[[33,20],21],[[51,20],21],[[52,20],21],[[33,13],[[50,[33]]]],[[51,13],[[50,[51]]]],[[52,13],[[50,[52]]]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[52,62],[51,62],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[[[14,[-1]]],-1,[]],[-1,-1,[]],[47,53],[13,53],[32,53],[46,53],[48,53],[49,33],[-1,-1,[]],[[[14,[-1]]],-1,[]],[13,33],[13,51],[49,51],[[[14,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[13,52],[[[14,[-1]]],-1,[]],[49,52],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[49,33],[49,51],[49,52],[49,33],[49,51],[49,52],[13,33],[13,51],[13,52],0,[[53,53],[[50,[53]]]],0,[[53,53],[[50,[53]]]],[[[30,[-1]],-2],9,[],27],[[34,-1],9,27],[[54,-1],9,27],[[55,-1],9,27],[[56,-1],9,27],[[65,-1],9,27],[[62,-1],9,27],[[57,-1],9,27],[[58,-1],9,27],[[31,-1],9,27],[[60,-1],9,27],[[61,-1],9,27],[[53,-1],9,27],[[33,-1],9,27],[[51,-1],9,27],[[52,-1],9,27],[[53,53],[[50,[53]]]],[[53,53],[[50,[53]]]],[33,13],[33,13],[51,13],[51,13],[52,13],[52,13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],0,[49,53],[49,53],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[30,[-1]]],32,[]],[65,32],[65,32],0,0,[[53,53],53],[[13,-1,34],56,38],[13,33],[13,51],[13,52],[[53,53],[[50,[53]]]],0,[[33,33],[[50,[43]]]],[[51,51],[[50,[43]]]],[[52,52],[[50,[43]]]],0,0,0,[[33,33],[[50,[13]]]],[[51,51],[[50,[13]]]],[[52,52],[[50,[13]]]],[53,[[50,[32]]]],[53,[[50,[41]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[[-1,35],-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,6,[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[-1,36,[]],[49,53],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"Task",0],[4,"FixpointResult",0],[6,"Result",1101],[8,"Display",1102],[8,"FromStr",1103],[3,"String",1104],[3,"QueryCache",1105],[3,"ConstInfo",0],[15,"tuple"],[8,"Iterator",1106],[8,"FnOnce",1107],[3,"Stats",0],[15,"usize"],[4,"Result",1108],[8,"Deserializer",1109],[3,"Error",0],[3,"CrashInfo",0],[15,"str"],[3,"RequestFilterDataProvider",1110],[3,"Formatter",1102],[6,"Result",1102],[8,"Debug",1102],[3,"KVar",0],[3,"QueryInfo",1111],[15,"slice"],[3,"ErrorGuaranteed",1112],[8,"Hasher",1113],[15,"u64"],[3,"Vec",1114],[4,"Constraint",375],[3,"Qualifier",375],[15,"bool"],[3,"KVid",375],[4,"Sort",375],[3,"TyCtxt",1115],[3,"TypeId",1116],[3,"Arena",1117],[8,"IntoIterator",1118],[3,"Arena",1119],[8,"Any",1116],[3,"BigInt",274],[4,"Sign",274],[4,"Ordering",1120],[8,"Decoder",1121],[8,"Encoder",1121],[15,"u128"],[15,"i128"],[15,"i32"],[15,"u32"],[4,"Option",1122],[3,"Name",375],[3,"ConstName",375],[4,"Constant",375],[4,"SortCtor",375],[3,"FuncSort",375],[3,"PolyFuncSort",375],[4,"Func",375],[4,"Proj",375],[3,"Const",375],[4,"BinOp",375],[4,"UnOp",375],[4,"Expr",375],[3,"PredTag",375],[3,"FmtParens",375],[4,"Pred",375]],"b":[[145,"impl-Debug-for-Task%3CTag%3E"],[146,"impl-Display-for-Task%3CTag%3E"],[147,"impl-Display-for-ConstInfo"],[148,"impl-Debug-for-ConstInfo"],[153,"impl-Display-for-KVar"],[154,"impl-Debug-for-KVar"],[332,"impl-Debug-for-BigInt"],[333,"impl-Display-for-BigInt"],[335,"impl-From%3Cu128%3E-for-BigInt"],[337,"impl-From%3Cusize%3E-for-BigInt"],[338,"impl-From%3Ci128%3E-for-BigInt"],[339,"impl-From%3Ci32%3E-for-BigInt"],[679,"impl-Constant"],[680,"impl-PartialEq-for-Constant"],[742,"impl-Debug-for-Sort"],[743,"impl-Display-for-Sort"],[747,"impl-Debug-for-Pred"],[748,"impl-Display-for-Pred"],[749,"impl-Debug-for-Expr"],[750,"impl-Display-for-Expr"],[751,"impl-Debug-for-Func"],[752,"impl-Display-for-Func"],[756,"impl-Debug-for-BinOp"],[757,"impl-Display-for-BinOp"],[758,"impl-Display-for-UnOp"],[759,"impl-Debug-for-UnOp"],[760,"impl-Display-for-Constant"],[761,"impl-Debug-for-Constant"],[784,"impl-From%3CConstName%3E-for-Expr"],[785,"impl-From%3CName%3E-for-Expr"],[802,"impl-From%3Ci128%3E-for-Constant"],[803,"impl-From%3Cusize%3E-for-Constant"],[804,"impl-From%3Cbool%3E-for-Constant"],[805,"impl-From%3Cu128%3E-for-Constant"],[806,"impl-From%3Ci32%3E-for-Constant"],[807,"impl-From%3Cu32%3E-for-KVid"],[810,"impl-From%3Cusize%3E-for-KVid"],[811,"impl-From%3Cusize%3E-for-Name"],[812,"impl-From%3Cu32%3E-for-Name"],[816,"impl-From%3Cusize%3E-for-ConstName"],[818,"impl-From%3Cu32%3E-for-ConstName"],[869,"impl-KVid"],[870,"impl-Idx-for-KVid"],[871,"impl-Name"],[872,"impl-Idx-for-Name"],[873,"impl-ConstName"],[874,"impl-Idx-for-ConstName"]]},\ +"flux_fhir_analysis":{"doc":"","t":"HFAFFFFAFAFFFFFFFFFFFAGDLLFFFFLLLLLALLLLLMLLMLMMLLLLLLMLLLLLLLLLLDDDDDRRRRRMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNEDNDDENNLFFLLLLLLLLLLLLLLLLLMLLLLLLLLFLLLLLLFLFFLLLLFFLLLFLLFFFLFFFFLLLFLLFFLLLLLLLLLLLLLLLLLLLMLAFLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMDRLLLLLLLLLLLLLLLMLLLLLLDRLLLLLLLLLLLLLLMLMLLLLLLDDLLLLLLFFLFFLLLLLLFLLLLLLLFLFFLLLLLLLLLLLLLLALLLLLLLLMLLLLLLLLLLLLALLLLLLLLLLLLMDDDDDDDDDDDDDDDDDDRRRRRRRRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLMLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLFLLLLLLLMLM","n":["DEFAULT_LOCALE_RESOURCE","adt_def","annot_check","check_crate_wf","check_wf","check_wf_flux_item","check_wf_rust_item","conv","defns","errors","fn_sig","func_decls","generics_of","invariants_of","item_bounds","normalize","predicates_of","provide","qualifiers","type_of","variants_of","wf","LocsMap","Zipper","borrow","borrow_mut","check_alias","check_enum_def","check_fn_sig","check_struct_def","collect_and_apply","deref","deref_mut","drop","emit_err","errors","filterable","from","from","from_cycle_error","init","inner","into","into_query_param","locs","new","self_ty","sess","to_predicate","to_result","try_from","try_into","type_id","vzip","wfckresults","zip_bty","zip_constraints","zip_enum_variant","zip_fn_sig","zip_generic_arg","zip_lifetime","zip_path","zip_qpath","zip_ty","zip_tys","ArrayLenMismatch","FieldCountMismatch","FunArgCountMismatch","GenericArgCountMismatch","InvalidRefinement","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ArrayLenMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FieldCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FunArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_GenericArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidRefinement","args","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","expected","expected_args","expected_fields","expected_len","expected_span","expected_span","expected_span","expected_span","expected_span","expected_ty","fields","filterable","filterable","filterable","filterable","filterable","found","from","from","from","from","from","from","from","from","from","from","from_btys","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_paths","from_qpaths","from_tys","from_variants","has_note","init","init","init","init","init","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","len","new","new","new","note","span","span","span","span","span","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","with_note","ConvCtxt","EarlyBound","Entry","Env","LateBoundList","Layer","LookupResult","LookupResultKind","Sort","Unit","add_coercions","adt_def_for_enum","adt_def_for_struct","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","collapse","collapse","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","conv_base_ty","conv_constr","conv_defn","conv_enum_def_variants","conv_enum_variant","conv_expr","conv_exprs","conv_fn_bound","conv_fn_output","conv_fn_sig","conv_func","conv_func_decl","conv_func_sort","conv_generic_args","conv_generic_args_into","conv_generic_bound","conv_generic_bounds","conv_generic_predicates","conv_generics","conv_indexed_path","conv_indexed_type","conv_invariant","conv_invariants","conv_invariants","conv_lifetime","conv_lit","conv_opaque_ty","conv_qualifier","conv_refine_arg","conv_refine_param","conv_sort","conv_sort_ctor","conv_sorts","conv_struct_def_variant","conv_trait_bound","conv_trait_bound_generic_param","conv_ty","conv_ty","conv_type_bindings","def_id_to_param_index","def_id_to_param_ty","depth","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","early_bound","empty","errors","expand_type_alias","fill_generic_args_defaults","filter_unit","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","get","get_field","init","init","init","init","init","init","into","into","into","into","into","into","into_bound_vars","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_record","kind","layers","list","lookup","map","name","new","new","new","new","node_sort","pop_layer","push_layer","resolve_param_sort","sort_args_for_adt","to_bound_vars","to_early_bound_vars","to_expr","to_owned","to_owned","to_path","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","top_layer","trait_defines_associated_item_named","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","wfckresults","conv","idx","infer_mode","sort","collapse","entry","idx","level","sort","AssocTypeNotFound","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AssocTypeNotFound","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","new","span","to_predicate","to_result","try_from","try_into","type_id","vzip","DefinitionCycle","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DefinitionCycle","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","msg","new","span","to_predicate","to_result","try_from","try_into","type_id","vzip","Wf","XiCtxt","borrow","borrow","borrow_mut","borrow_mut","check_base_ty","check_constraint","check_defn","check_enum_def","check_fn_output","check_fn_quals","check_fn_sig","check_generic_arg","check_generic_args","check_generic_args_kinds","check_generic_bound","check_generic_predicate","check_generic_predicates","check_opaque_ty","check_opaque_ty","check_output_locs","check_param_uses_expr","check_param_uses_refine_arg","check_params_are_determined","check_path","check_pred","check_qualifier","check_refine_arg","check_struct_def","check_ty_alias","check_ty_is_base","check_type","check_type_bindings","check_variant","collect_and_apply","collect_and_apply","default","deref","deref","deref_mut","deref_mut","drop","drop","emit_err","errors","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","genv","init","init","insert","into","into","into_query_param","into_query_param","new","remove","rollback_to","snapshot","sort_of_bty","sortck","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","xi","ArgCountMismatch","CannotInferSort","DuplicatedEnsures","EarlyBoundArgCountMismatch","ExpectedFun","ExpectedNumeric","FieldNotFound","InvalidBaseInstance","InvalidParamPos","InvalidPrimitiveDotAccess","MissingEnsures","NoEquality","ParamCountMismatch","ParamNotDetermined","SortAnnotationNeeded","SortMismatch","UnexpectedFun","UnknownQualifier","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_CannotInferSort","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DuplicatedEnsures","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_EarlyBoundArgCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ExpectedFun","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ExpectedNumeric","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FieldNotFound","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidBaseInstance","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidParamPos","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_InvalidPrimitiveDotAccess","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_MissingEnsures","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_NoEquality","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ParamCountMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_ParamNotDetermined","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SortAnnotationNeeded","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_SortMismatch","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnexpectedFun","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnknownQualifier","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expected","expected","expected","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fld","found","found","found","found","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_pred","loc","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","sort","sort","sort","sort","sort","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","sym","thing","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","InferCtxt","borrow","borrow_mut","check_abs","check_binary_op","check_expr","check_loc","check_record","check_refine_arg","collect_and_apply","deref","deref_mut","drop","emit_err","emit_field_not_found","emit_sort_mismatch","ensure_resolved_var","eq_vids","filterable","from","from","from_cycle_error","genv","has_equality","index","infer_mode","init","instantiate_func_sort","into","into_query_param","into_results","is_bool","is_coercible","is_coercible_to_func","is_coercible_to_numeric","is_eq_sort_vid","is_func","is_int","is_numeric","is_single_field_record","new","next_eq_sort_vid","next_sort_vid","params","push_layer","resolve_param","resolve_params_sorts","resolve_sort","synth_app","synth_binary_op","synth_expr","synth_func","synth_lit","synth_unary_op","to_predicate","to_result","try_equate","try_from","try_into","type_id","unification_table","vzip","wfckresults"],"q":[[0,"flux_fhir_analysis"],[22,"flux_fhir_analysis::annot_check"],[65,"flux_fhir_analysis::annot_check::errors"],[206,"flux_fhir_analysis::conv"],[421,"flux_fhir_analysis::conv::Entry"],[425,"flux_fhir_analysis::conv::LookupResultKind"],[430,"flux_fhir_analysis::conv::errors"],[454,"flux_fhir_analysis::errors"],[479,"flux_fhir_analysis::wf"],[560,"flux_fhir_analysis::wf::errors"],[1013,"flux_fhir_analysis::wf::sortck"],[1076,"flux_middle::global_env"],[1077,"rustc_span::def_id"],[1078,"flux_middle::rty"],[1079,"flux_middle::queries"],[1080,"rustc_span"],[1081,"core::result"],[1082,"flux_middle::fhir"],[1083,"flux_middle::fhir"],[1084,"rustc_span::symbol"],[1085,"flux_middle::rty::normalize"],[1086,"flux_middle::rty"],[1087,"flux_middle::rty"],[1088,"flux_middle::rty"],[1089,"flux_middle::rty::fold"],[1090,"flux_middle::rty"],[1091,"flux_errors"],[1092,"flux_middle::fhir"],[1093,"flux_middle::fhir"],[1094,"core::ops::function"],[1095,"rustc_errors::diagnostic_builder"],[1096,"icu_provider_adapters::filter"],[1097,"rustc_query_system::query::job"],[1098,"flux_middle::fhir"],[1099,"core::any"],[1100,"flux_middle::fhir"],[1101,"rustc_errors::diagnostic_builder"],[1102,"flux_middle::rty::expr"],[1103,"flux_middle::fhir"],[1104,"flux_middle::fhir"],[1105,"flux_middle::fhir"],[1106,"flux_middle::fhir"],[1107,"flux_middle::fhir"],[1108,"core::fmt"],[1109,"core::fmt"],[1110,"flux_middle::fhir"],[1111,"flux_middle::rty::expr"],[1112,"rustc_middle::ty::assoc"],[1113,"rustc_hash"],[1114,"alloc::string"]],"d":["Raw content of Fluent resource for this crate, generated …","","Check if an fhir annotation is a valid refinement of the …","","","","","Conversion from types in fhir to types in rty","","","","","","","","","","","","","","Checks type well-formedness","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We track parameters of unit sort separately because we …","","","","","","","","","","","","","","","","","","","","","Whether to collapse the layer into a single variable of …","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether to skip variables bound to Unit in this layer.","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The index of the entry in the layer skipping all …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","Keeps track of all refinement parameters that are used as …","","","","","","","","","","","","","","","","","","","","","Checks that refinement parameters of function sort are …","Checks that refinement parameters of function sort are …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","sort variables that can only be instantiated to sorts that …","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","","","","Whether a value of sort1 can be automatically coerced to a …","","","","","","","","","","","","Push a layer of binders. We assume all names are fresh so …","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,39,0,0,0,0,39,39,39,39,39,0,39,39,39,39,39,160,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0,0,0,60,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,61,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,61,60,56,62,55,60,61,62,56,55,56,55,60,61,62,56,61,55,55,60,60,61,61,62,62,56,56,55,55,60,61,62,56,55,55,55,56,55,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,62,60,61,62,55,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,60,61,62,56,55,0,117,0,0,117,0,0,0,69,69,65,0,0,65,71,68,69,116,117,65,71,68,69,116,117,68,69,68,69,68,68,65,71,68,69,116,117,65,65,0,65,65,65,65,65,65,0,65,0,0,65,65,65,65,0,0,65,65,65,0,65,65,0,0,0,65,0,0,0,0,65,65,65,0,65,65,0,0,71,65,71,68,69,116,117,65,71,68,69,116,117,65,71,68,69,116,117,71,68,0,0,65,68,65,71,68,69,116,117,68,69,116,117,65,65,71,71,68,68,69,69,116,116,117,117,65,71,68,69,116,117,65,68,116,65,71,68,69,116,117,65,71,68,69,116,117,68,68,65,71,68,69,116,117,116,116,71,68,71,68,116,65,71,68,69,65,71,71,65,0,68,71,116,68,69,116,65,71,68,69,116,117,65,71,68,69,116,117,71,65,65,71,68,69,116,117,65,71,68,69,116,117,65,71,68,69,116,117,65,71,68,69,116,117,65,161,161,161,161,162,162,163,162,163,0,0,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,0,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,0,130,134,130,134,130,130,0,0,130,0,0,130,130,130,130,130,130,0,130,130,130,130,130,130,130,0,130,0,0,130,130,130,130,130,134,134,130,134,130,134,130,134,130,0,130,134,130,130,134,134,130,134,130,130,134,134,130,134,130,134,130,134,134,134,130,0,130,134,130,134,130,134,130,134,130,134,130,134,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,146,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,147,136,137,138,142,145,146,136,136,137,137,138,138,139,139,140,140,141,141,142,142,143,143,144,144,145,145,146,146,147,147,148,148,149,149,150,150,151,151,152,152,153,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,143,139,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,143,144,147,148,150,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,151,137,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,149,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,131,131,131,131,131,131,131,131,131,131],"f":[0,[[1,2],[[4,[3]]]],0,[1,[[7,[5,6]]]],[[1,8],[[4,[[10,[9]]]]]],[[1,11],[[4,[[10,[9]]]]]],[[1,2],[[4,[[10,[9]]]]]],0,[1,[[4,[12]]]],0,[[1,2],[[4,[[14,[13]]]]]],[1,[[16,[11,15]]]],[[1,2],[[4,[17]]]],[[1,2],[[4,[[19,[18]]]]]],[[1,2],[[4,[[14,[[21,[20]]]]]]]],[[1,-1],[[4,[-1]]],22],[[1,2],[[4,[[14,[23]]]]]],[24,5],[1,[[4,[[19,[25]]]]]],[[1,2],[[4,[[14,[26]]]]]],[[1,2],[[4,[[28,[[14,[27]]]]]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[29,30,9,31],[[7,[5,6]]]],[[29,30,9,32],[[7,[5,6]]]],[[29,30,9,33,34],[[7,[5,6]]]],[[29,30,9,35],[[7,[5,6]]]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[39,-1],6,40],0,[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[30,9,[46,[45]]],39],0,0,[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,-2,[],[]],0,[[39,48,48],[[7,[5,6]]]],[[39,[44,[49]]],[[7,[5,6]]]],[[39,50,50],[[7,[5,6]]]],[[39,34,34],[[7,[5,6]]]],[[39,51,51],[[7,[5,6]]]],[[39,52,52],5],[[39,53,53],[[7,[5,6]]]],[[39,54,54],[[7,[5,6]]]],[[39,45,45],[[7,[5,6]]]],[[39,[44,[45]],[44,[45]]],[[7,[5,6]]]],0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],0,[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[38,5],[38,5],[38,5],0,0,0,0,0,0,0,0,0,0,0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],0,[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[48,48],55],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[53,53],55],[[54,54],55],[[45,45],55],[[50,50],56],0,[[],38],[[],38],[[],38],[[],38],[[],38],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[55,57],[[58,[-1]]],59],[[60,57],[[58,[-1]]],59],[[61,57],[[58,[-1]]],59],[[62,57],[[58,[-1]]],59],[[56,57],[[58,[-1]]],59],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[34,34],60],[[53,53],61],[[63,63],62],0,0,0,0,0,0,[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[55,-1],55,64],0,0,0,0,0,0,0,0,0,0,[[65,66,67],66],[[1,[19,[18]],32],3],[[1,[19,[18]],35],3],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[68,68],[69,69],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[65,[44,[70]]],68],0,[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[65,71,48],[[4,[72]]]],[[65,71,49],[[4,[73]]]],[[1,74,9],75],[[1,32,9],[[4,[[19,[76]]]]]],[[1,77,50,9],[[4,[76]]]],[[65,71,78],66],[[65,71,[44,[78]]],[[21,[66]]]],[[65,71,72,79,80,[19,[20]]],[[4,[5]]]],[[65,71,81],[[4,[[83,[82]]]]]],[[1,2,34,9],[[4,[[14,[13]]]]]],[[65,71,84],66],[[1,85],15],[[1,86],87],[[65,71,77,[44,[51]]],[[4,[[19,[88]]]]]],[[65,71,[44,[51]],[19,[88]]],[[4,[5]]]],[[65,71,72,89,[19,[20]]],[[4,[5]]]],[[65,71,72,90],[[4,[[19,[20]]]]]],[[1,2,91,9],[[4,[[14,[23]]]]]],[[1,92,93,[44,[70]],[46,[2]]],[[4,[17]]]],[[65,71,53,94],[[4,[72]]]],[[65,71,48,94],[[4,[72]]]],[[65,71,78],18],[[1,[44,[70]],[44,[78]],9],[[19,[18]]]],[[65,71,[44,[78]]],[[19,[18]]]],[[65,71,52],95],[96,97],[[1,77,98,9],[[4,[[21,[20]]]]]],[[1,99,9],25],[[65,71,100],[[5,[66,[102,[101]]]]]],[[1,70],103],[[1,104],105],[106,107],[[1,-1],[[19,[105]]],108],[[1,35,9],[[4,[[28,[76]]]]]],[[65,71,72,77,[44,[51]],[44,[109]],[19,[20]]],[[4,[5]]]],[[65,109],[[4,[110]]]],[[1,45,9],[[4,[[83,[72]]]]]],[[65,71,45],[[4,[72]]]],[[65,71,72,77,[44,[111]],[19,[20]]],[[4,[5]]]],[[29,2],112],[[29,2],113],[71,38],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],0,[[],68],0,[[1,31,9],[[4,[[83,[72]]]]]],[[65,77,[19,[88]]],[[4,[5]]]],0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[68,114],115],[[69,114],115],[[116,114],115],[[117,114],115],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],0,[[68,-1,112],[[46,[117]]],[[119,[118]]]],[[116,1,120],66],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[68,[[21,[110]]]],[68,[[0,[36]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[116,[[46,[77]]]],0,0,[[65,112,[44,[70]],101],68],[[71,121],116],0,0,[[1,9],65],[[[44,[70]]],71],[[65,112,[44,[70]],101,101],68],[[1,112,104,122],69],[[65,67],104],[71,68],[[71,68],5],[[65,70],104],[[1,-1],[[21,[104]]],[[123,[77]]]],[68,[[21,[110]]]],[71,[[21,[66]]]],[116,66],[-1,-2,[],[]],[-1,-2,[],[]],[116,124],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[71,68],[[65,77,125,120],[[46,[126]]]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],[-1,-2,[],[]],[[127,57],[[58,[-1]]],59],[-1,-2,[],[]],[120,127],0,[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[-1,41],[[42,[-2]]],[],[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],[-1,-2,[],[]],[[128,57],[[58,[-1]]],59],[-1,-2,[],[]],0,[[129,[19,[11]]],128],0,[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[130,131,48],[[7,[5,6]]]],[[130,131,49],[[7,[5,6]]]],[[1,74],[[7,[9,6]]]],[[1,32],[[7,[9,6]]]],[[130,131,81],[[7,[5,6]]]],[[30,[132,[11]],[19,[120]]],[[7,[5,6]]]],[[1,34,33],[[7,[9,6]]]],[[130,131,51],[[7,[5,6]]]],[[130,131,77,[44,[51]]],[[7,[5,6]]]],[[130,77,[44,[51]]],[[7,[5,6]]]],[[130,131,89],[[7,[5,6]]]],[[130,131,133],[[7,[5,6]]]],[[130,131,91],[[7,[5,6]]]],[[1,98,33],[[7,[9,6]]]],[[130,131,98],[[7,[5,6]]]],[[130,34],[[7,[5,6]]]],[[130,131,78,101],[[7,[5,6]]]],[[130,131,100],[[7,[5,6]]]],[[130,131,[44,[70]]],[[7,[5,6]]]],[[130,131,53],[[7,[5,6]]]],[[130,131,78],[[7,[5,6]]]],[[1,99],[[7,[9,6]]]],[[130,131,100,104],[[7,[5,6]]]],[[1,35],[[7,[9,6]]]],[[1,31],[[7,[9,6]]]],[[130,45],[[7,[5,6]]]],[[130,131,45],[[7,[5,6]]]],[[130,131,[44,[111]]],[[7,[5,6]]]],[[130,131,50],[[7,[5,6]]]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[],134],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[[130,-1],[[7,[-2,6]]],40,[]],0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],0,[[],38],[[],38],[[134,118],5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,130],[[134,118],101],[[134,135],5],[134,135],[[130,48],104],0,[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,-1,[]],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],[38,5],0,0,0,0,[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],[[-1,41],[[42,[-2]]],[],[]],0,0,0,0,0,0,0,[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[-1,-1,[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[-1,[44,[43]],6],-2,[],[]],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[136,57],[[58,[-1]]],59],[[137,57],[[58,[-1]]],59],[[138,57],[[58,[-1]]],59],[[139,57],[[58,[-1]]],59],[[140,57],[[58,[-1]]],59],[[141,57],[[58,[-1]]],59],[[142,57],[[58,[-1]]],59],[[143,57],[[58,[-1]]],59],[[144,57],[[58,[-1]]],59],[[145,57],[[58,[-1]]],59],[[146,57],[[58,[-1]]],59],[[147,57],[[58,[-1]]],59],[[148,57],[[58,[-1]]],59],[[149,57],[[58,[-1]]],59],[[150,57],[[58,[-1]]],59],[[151,57],[[58,[-1]]],59],[[152,57],[[58,[-1]]],59],[[153,57],[[58,[-1]]],59],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[129,104,104],136],[[[46,[129]],154,38,38],137],[[129,38,38],138],[121,139],[129,140],[121,141],[[129,104],142],[[129,104],143],[[129,104],144],[[129,104],145],[[129,38,38],146],[[104,120],147],[[104,120],148],[45,149],[[129,104],150],[121,151],[70,152],[121,153],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],0,[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,47,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[131,[19,[70]],78,129,67,104],[[7,[5,6]]]],[[131,78,155,78,78,104],[[7,[5,6]]]],[[131,78,104],[[7,[5,6]]]],[[131,121],[[7,[5,6]]]],[[131,77,[44,[104]],[44,[100]],129],[[7,[5,6]]]],[[131,100,104],[[7,[5,6]]]],[[-1,-2],-3,36,37,[]],[38,-1,[]],[38,-1,[]],[38,5],[[131,-1],6,40],[[131,104,120],6],[[131,129,104,104],6],[[131,121],[[7,[104,6]]]],0,[[-1,41],[[42,[-2]]],[],[]],[-1,-1,[]],[[[7,[-1]]],-1,[]],[[-1,[44,[43]],6],-2,[],[]],0,[[131,104],101],[[131,-1],[],[[119,[118]]]],[[131,121],122],[[],38],[[131,86],156],[-1,-2,[],[]],[-1,-2,[],[]],[131,9],[[131,104],101],[[131,104,104,67],101],[[131,104,67],[[46,[86]]]],[[131,104,67],[[46,[104]]]],[[131,157],101],[[131,104],[[46,[86]]]],[[131,104],101],[[131,104],101],[[131,104],[[46,[104]]]],[[1,158],131],[131,157],[131,157],0,[[131,-1],5,108],[[131,70],[[46,[104]]]],[[131,[44,[70]]],[[7,[5,6]]]],[[131,104],[[46,[104]]]],[[131,84,[44,[78]],129],[[7,[104,6]]]],[[131,78,155,78,78],[[7,[104,6]]]],[[131,78],[[7,[104,6]]]],[[131,84],[[7,[156,6]]]],[96,104],[[131,159,78],[[7,[104,6]]]],[[-1,29],-2,[],[]],[-1,[[7,[-2]]],[],[]],[[131,104,104],[[46,[104]]]],[-1,[[7,[-2]]],[],[]],[-1,[[7,[-2]]],[],[]],[-1,47,[]],0,[-1,-2,[],[]],0],"c":[],"p":[[3,"GlobalEnv",1076],[3,"LocalDefId",1077],[3,"AdtDef",1078],[6,"QueryResult",1079],[15,"tuple"],[3,"ErrorGuaranteed",1080],[4,"Result",1081],[4,"FluxLocalDefId",1082],[3,"WfckResults",1082],[3,"Rc",1083],[3,"Symbol",1084],[3,"Defns",1085],[6,"PolyFnSig",1078],[3,"EarlyBinder",1078],[3,"FuncDecl",1078],[6,"FxHashMap",1086],[3,"Generics",1078],[3,"Invariant",1078],[3,"Vec",1087],[3,"Clause",1078],[6,"List",1088],[8,"TypeFoldable",1089],[3,"GenericPredicates",1078],[3,"Providers",1079],[3,"Qualifier",1078],[6,"PolyTy",1078],[6,"PolyVariants",1078],[4,"Opaqueness",1078],[3,"TyCtxt",1090],[3,"FluxSession",1091],[3,"TyAlias",1082],[3,"EnumDef",1082],[3,"OwnerId",1092],[3,"FnSig",1082],[3,"StructDef",1082],[8,"Iterator",1093],[8,"FnOnce",1094],[15,"usize"],[3,"Zipper",22],[8,"IntoDiagnostic",1095],[15,"str"],[3,"RequestFilterDataProvider",1096],[3,"QueryInfo",1097],[15,"slice"],[3,"Ty",1082],[4,"Option",1098],[3,"TypeId",1099],[3,"BaseTy",1082],[4,"Constraint",1082],[3,"VariantDef",1082],[4,"GenericArg",1082],[4,"Lifetime",1082],[3,"Path",1082],[4,"QPath",1082],[3,"InvalidRefinement",65],[3,"FieldCountMismatch",65],[3,"Handler",1100],[3,"DiagnosticBuilder",1095],[8,"EmissionGuarantee",1095],[3,"FunArgCountMismatch",65],[3,"GenericArgCountMismatch",65],[3,"ArrayLenMismatch",65],[3,"ArrayLen",1082],[8,"ToString",1101],[3,"ConvCtxt",206],[6,"Expr",1102],[3,"FhirId",1082],[3,"Layer",206],[4,"Entry",206],[3,"RefineParam",1082],[3,"Env",206],[6,"Ty",1078],[4,"Constraint",1078],[3,"Defn",1082],[3,"Defn",1078],[6,"PolyVariant",1078],[3,"DefId",1077],[3,"Expr",1082],[3,"PolyTraitRef",1082],[4,"ClosureKind",1103],[3,"FnOutput",1082],[3,"FnOutput",1078],[3,"Binder",1078],[4,"Func",1082],[3,"FuncDecl",1082],[3,"PolyFuncSort",1082],[3,"PolyFuncSort",1078],[4,"GenericArg",1078],[4,"GenericBound",1082],[6,"GenericBounds",1082],[3,"GenericPredicates",1082],[3,"Generics",1104],[3,"Generics",1082],[3,"Index",1078],[4,"Region",1104],[4,"Lit",1082],[4,"Constant",1105],[3,"OpaqueTy",1082],[3,"Qualifier",1082],[4,"RefineArg",1082],[15,"bool"],[4,"TupleTree",1078],[3,"RefineParam",1078],[4,"Sort",1082],[4,"Sort",1078],[4,"SortCtor",1082],[4,"SortCtor",1078],[8,"IntoIterator",1106],[3,"GenericParam",1082],[4,"BoundVariableKind",1078],[3,"TypeBinding",1082],[15,"u32"],[3,"ParamTy",1107],[3,"Formatter",1108],[6,"Result",1108],[3,"LookupResult",206],[4,"LookupResultKind",206],[3,"Name",1082],[8,"Borrow",1109],[6,"SurfaceIdent",1082],[3,"Ident",1082],[4,"InferMode",1082],[8,"Into",1110],[3,"Path",1102],[4,"AssocKind",1111],[3,"AssocItem",1111],[3,"AssocTypeNotFound",430],[3,"DefinitionCycle",454],[3,"Span",1112],[3,"Wf",479],[3,"InferCtxt",1013],[6,"FxHashSet",1086],[3,"WhereBoundPredicate",1082],[3,"XiCtxt",479],[3,"Snapshot",1113],[3,"SortMismatch",560],[3,"ArgCountMismatch",560],[3,"EarlyBoundArgCountMismatch",560],[3,"DuplicatedEnsures",560],[3,"UnknownQualifier",560],[3,"MissingEnsures",560],[3,"ExpectedFun",560],[3,"InvalidParamPos",560],[3,"UnexpectedFun",560],[3,"ExpectedNumeric",560],[3,"ParamCountMismatch",560],[3,"FieldNotFound",560],[3,"InvalidPrimitiveDotAccess",560],[3,"InvalidBaseInstance",560],[3,"NoEquality",560],[3,"ParamNotDetermined",560],[3,"SortAnnotationNeeded",560],[3,"CannotInferSort",560],[3,"String",1101],[4,"BinOp",1105],[3,"FuncSort",1082],[3,"SortVid",1082],[4,"FluxOwnerId",1082],[4,"UnOp",1105],[6,"LocsMap",22],[13,"Sort",421],[13,"LateBoundList",425],[13,"EarlyBound",425]],"b":[]},\ +"flux_fixpoint":{"doc":"","t":"NNNNNENNNNNDDENENDNNDENENNENDNNNNNNNNNDNQNNNNNNNNNNNDENENDNNNNNEEDDNIQDIENNNNNNQMAMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMAMOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLLLLLLMLLLLLLLLLLLLLLLLMMMMMLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLDNNSESLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMLLNNNNNENNNNNDENEHNNENDNNENDNNNNNNNNNNNNNNNNNNSSNNNDENDENDNNNNEENSSENNNNNSSLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLL","n":["Add","And","And","App","App","BinOp","BinaryOp","BitVec","Bool","Bool","Conj","Const","ConstInfo","Constant","Constant","Constraint","Crash","CrashInfo","Div","Eq","Error","Expr","Expr","FixpointResult","ForAll","Fst","Func","Func","FuncSort","Ge","Gt","Guard","IfThenElse","Iff","Imp","Int","Int","Itf","KVar","KVar","KVar","Le","Lt","Map","Mod","Mul","Ne","Neg","Not","Or","Pair","Pair","PolyFuncSort","Pred","Pred","Proj","Proj","Qualifier","Real","Real","Safe","Set","Snd","Sort","SortCtor","Stats","StringTypes","Sub","Symbol","Tag","Task","Types","UnOp","UnaryOp","Unit","Unit","Unsafe","Var","Var","Var","args","big_int","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check_with_cache","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","comment","comments","constants","constraint","constraint","declare_types","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","fsort","global","hash","hash","hash","hash_with_default","id","init","init","init","init","init","init","init","init","inputs_and_output","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvars","kvid","name","name","name","new","new","num_chck","num_cstr","num_iter","num_vald","orig","params","qualifiers","scrape_quals","sort","sorts","sorts","tag","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BigInt","Negative","NonNegative","ONE","Sign","ZERO","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","cmp","collect_and_apply","collect_and_apply","compare","compare","compare","compare","decode","decode","deref","deref","deref_mut","deref_mut","drop","drop","encode","encode","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","hash","hash","init","init","int_max","int_min","into","into","into_query_param","into_query_param","partial_cmp","partial_cmp","sign","to_owned","to_owned","to_predicate","to_predicate","to_result","to_result","to_string","try_from","try_from","try_into","try_into","type_id","type_id","uint_max","val","vzip","vzip","Add","And","And","App","App","BinOp","BinaryOp","BitVec","Bool","Bool","Conj","Const","Constant","Constant","Constraint","DEFAULT_QUALIFIERS","Div","Eq","Expr","Expr","FmtParens","ForAll","Fst","Func","Func","FuncSort","Ge","Gt","Guard","IfThenElse","Iff","Imp","Int","Int","Itf","KVar","Le","Lt","Map","Mod","Mul","Ne","Neg","Not","ONE","ONE","Or","Pair","Pair","PolyFuncSort","Pred","Pred","PredTag","Proj","Proj","Qualifier","Real","Real","Set","Snd","Sort","SortCtor","Sub","TRUE","TRUE","UnOp","UnaryOp","Unit","Unit","Var","Var","ZERO","ZERO","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","args","as_any","as_any","as_any","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","decode","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","eq","eq","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","fsort","ge","global","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","iff","imp","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs_and_output","int_max","int_min","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_concrete","is_concrete","is_trivially_true","name","name","ne","new","or","params","to_bool","to_int","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_max","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_fixpoint"],[287,"flux_fixpoint::big_int"],[388,"flux_fixpoint::constraint"],[918,"std::io::error"],[919,"alloc::string"],[920,"flux_common::cache"],[921,"core::iter::traits::iterator"],[922,"core::ops::function"],[923,"core::result"],[924,"serde::de"],[925,"core::str::traits"],[926,"icu_provider_adapters::filter"],[927,"core::fmt"],[928,"core::fmt"],[929,"rustc_span"],[930,"core::hash"],[931,"alloc::vec"],[932,"rustc_middle::ty::context"],[933,"core::any"],[934,"rustc_hir"],[935,"core::iter::traits::collect"],[936,"rustc_middle::arena"],[937,"core::any"],[938,"rustc_serialize::serialize"],[939,"rustc_serialize::serialize"],[940,"core::clone"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","interpreted (theory) function","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A signed integer in the range [-2^128, 2^128], represented …","","","","This are in order so negative is less than non-negative.","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","","","","","","Given the bit width of a signed integer type, produces the …","Given the bit width of a signed integer type, produces the …","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Given the bit width of an unsigned integer type, produces …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","interpreted (theory) function","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::int_max","See BigInt::int_min","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns true if the constraint has at least one concrete …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::uint_max","","","","","","","","","","","","","","","","",""],"i":[57,62,57,33,59,0,59,33,33,50,30,0,0,0,59,0,2,0,57,57,0,0,62,0,30,54,0,33,0,57,57,30,59,57,57,33,50,63,0,62,4,57,57,51,57,57,57,58,58,57,33,59,0,0,30,0,59,0,33,50,2,51,54,0,0,0,0,57,0,4,0,0,0,59,33,59,2,59,63,4,31,0,31,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,1,1,64,19,1,2,14,9,15,23,23,1,1,0,1,0,9,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,2,14,9,15,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,19,1,1,2,14,9,15,23,64,64,19,19,1,1,2,2,14,14,9,9,15,15,23,23,64,19,1,2,14,9,15,23,53,31,19,1,23,1,14,64,19,1,2,14,9,15,23,52,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,1,23,31,55,19,1,23,9,9,9,9,19,53,1,1,19,1,23,14,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,19,1,23,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,64,19,1,2,14,9,15,23,55,64,19,1,2,14,9,15,23,0,41,41,40,0,40,40,40,41,41,40,40,41,41,40,41,40,41,40,41,40,41,40,41,40,41,40,41,40,40,41,41,40,41,40,41,40,41,40,41,40,41,40,41,40,41,40,40,40,40,40,41,41,41,41,41,40,41,40,40,41,40,40,40,40,40,40,41,41,40,41,40,41,40,41,40,40,40,41,40,41,40,41,40,40,41,40,41,40,41,40,40,41,40,41,40,41,40,40,40,41,57,62,57,33,59,0,59,33,33,50,30,0,0,59,0,0,57,57,0,62,0,30,54,0,33,0,57,57,30,59,57,57,33,50,63,62,57,57,51,57,57,57,58,58,59,50,57,33,59,0,0,30,0,0,59,0,33,50,51,54,0,0,57,30,62,0,59,33,59,59,63,59,50,54,54,55,55,57,57,58,58,50,50,54,54,55,55,57,57,58,58,50,50,50,31,57,58,50,31,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,33,51,52,53,54,55,57,58,50,33,51,52,53,54,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,57,58,50,59,57,58,50,50,57,58,50,57,57,57,57,57,58,58,58,58,58,50,50,50,50,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,31,57,57,58,58,50,50,60,60,61,61,30,30,33,33,51,51,52,52,53,53,62,62,59,59,63,63,54,54,31,31,55,55,57,57,58,58,50,50,50,50,50,50,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,53,50,31,50,30,33,51,52,53,62,59,63,54,31,57,58,50,50,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,52,50,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,30,62,62,31,55,50,53,50,53,50,50,33,51,52,53,54,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,31,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50,50,55,60,61,30,33,51,52,53,62,59,63,54,31,55,57,58,50],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[1,[-1]]],[[3,[2]]],4],[[[1,[-1]],5,6],[[3,[2]]],4],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],0,0,0,0,0,0,[[],9],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[-1,[[11,[[2,[-2]]]]],12,13],[-1,[[11,[[14,[-2]]]]],12,13],[-1,[[11,[9]]],12],[-1,[[11,[15]]],12],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[[19,[-1]],20],21,4],[[[1,[-1]],20],21,4],[[[1,[-1]],20],21,4],[[[2,[-1]],20],21,22],[[[14,[-1]],20],21,22],[[9,20],21],[[15,20],21],[[[23,[-1]],20],21,4],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],0,0,[[[19,[-1]],-2],16,4,27],[[[1,[-1]],-2],16,4,27],[[[23,[-1]],-2],16,4,27],[[[1,[-1]]],28,4],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[[[29,[5]],[29,[[19,[-1]]]],[29,[[23,[-1]]]],[30,[-1]],[29,[[31,[-1]]]],[29,[5]],32],[[1,[-1]]],4],[[[29,[33]],5],[[23,[-1]]],4],0,0,0,0,0,0,0,0,0,0,0,0,[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[36,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[36,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[-1,38],-2,[],[]],[[-1,36],-2,[],[]],[[-1,36],-2,[],[]],[[-1,38],-2,[],[]],[-1,39,[]],[-1,39,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[40,40],[41,41],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[40,40],42],[[41,41],42],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],42,[],[]],[[-1,-2],42,[],[]],[[-1,-2],42,[],[]],[[-1,-2],42,[],[]],[-1,40,43],[-1,41,43],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,16],[10,16],[[40,-1],16,44],[[41,-1],16,44],[[40,40],32],[[41,41],32],[[-1,39],32,[]],[[-1,39],32,[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[40,20],21],[[40,20],21],[[41,20],21],[10,40],[-1,-1,[]],[[[11,[-1]]],-1,[]],[45,40],[46,40],[47,40],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[40,-1],16,27],[[41,-1],16,27],[[],10],[[],10],[48,40],[48,40],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[40,40],[[49,[42]]]],[[41,41],[[49,[42]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,5,[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,35,[]],[-1,35,[]],[48,40],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[36,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[36,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[36,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[36,-1],[[25,[-2]]],37,[]],[[36,-1],[[25,[-2]]],37,[]],[[38,-1],[[25,[-2]]],37,[]],[[-1,36],-2,[],[]],[[-1,38],-2,[],[]],[[-1,36],-2,[],[]],[[-1,38],-2,[],[]],[[-1,36],-2,[],[]],[[-1,38],-2,[],[]],[[-1,38],-2,[],[]],[[-1,36],-2,[],[]],[[-1,36],-2,[],[]],[[-1,38],-2,[],[]],[[50,50],[[49,[50]]]],0,[-1,39,[]],[-1,39,[]],[-1,39,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[33,33],[51,51],[52,52],[53,53],[54,54],[[[55,[-1]]],[[55,[-1]]],[56,4]],[57,57],[58,58],[50,50],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[[-1,-2],-3,7,8,[]],[-1,57,43],[-1,58,43],[-1,50,43],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[10,16],[[57,-1],16,44],[[58,-1],16,44],[[50,-1],16,44],[[[59,[-1]],[59,[-1]]],[[59,[-1]]],4],[[57,57],32],[[58,58],32],[[50,50],32],[[50,50],50],[[-1,39],32,[]],[[-1,39],32,[]],[[-1,39],32,[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,-2],32,[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[[60,[-1]],20],21,4],[[[61,[-1]],20],21,4],[[[30,[-1]],20],21,4],[[33,20],21],[[51,20],21],[[52,20],21],[[53,20],21],[[[62,[-1]],20],21,4],[[[59,[-1]],20],21,4],[[[63,[-1]],20],21,4],[[[31,[-1]],20],21,4],[[57,20],21],[[57,20],21],[[58,20],21],[[58,20],21],[[50,20],21],[[50,20],21],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[[[11,[-1]]],-1,[]],[-1,-1,[]],[47,50],[45,50],[10,50],[46,50],[32,50],[[[11,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],0,[[50,50],[[49,[50]]]],0,[[50,50],[[49,[50]]]],[[[30,[-1]],-2],16,4,27],[[33,-1],16,27],[[51,-1],16,27],[[52,-1],16,27],[[53,-1],16,27],[[[62,[-1]],-2],16,4,27],[[[59,[-1]],-2],16,4,27],[[[63,[-1]],-2],16,4,27],[[54,-1],16,27],[[[31,[-1]],-2],16,4,27],[[57,-1],16,27],[[58,-1],16,27],[[50,-1],16,27],[[50,50],[[49,[50]]]],[[50,50],[[49,[50]]]],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],0,[48,50],[48,50],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[30,[-1]]],32,4],[[[62,[-1]]],32,4],[[[62,[-1]]],32,4],0,0,[[50,50],50],[[10,-1,33],53,37],[[50,50],[[49,[50]]]],0,[50,[[49,[32]]]],[50,[[49,[40]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[[-1,34],-2,[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,5,[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,[[11,[-2]]],[],[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[-1,35,[]],[48,50],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"Task",0],[4,"FixpointResult",0],[6,"Result",918],[8,"Types",0],[3,"String",919],[3,"QueryCache",920],[8,"Iterator",921],[8,"FnOnce",922],[3,"Stats",0],[15,"usize"],[4,"Result",923],[8,"Deserializer",924],[8,"FromStr",925],[3,"Error",0],[3,"CrashInfo",0],[15,"tuple"],[15,"str"],[3,"RequestFilterDataProvider",926],[3,"ConstInfo",0],[3,"Formatter",927],[6,"Result",927],[8,"Debug",927],[3,"KVar",0],[3,"QueryInfo",928],[15,"slice"],[3,"ErrorGuaranteed",929],[8,"Hasher",930],[15,"u64"],[3,"Vec",931],[4,"Constraint",388],[3,"Qualifier",388],[15,"bool"],[4,"Sort",388],[3,"TyCtxt",932],[3,"TypeId",933],[3,"Arena",934],[8,"IntoIterator",935],[3,"Arena",936],[8,"Any",933],[3,"BigInt",287],[4,"Sign",287],[4,"Ordering",937],[8,"Decoder",938],[8,"Encoder",938],[15,"i32"],[15,"i128"],[15,"u128"],[15,"u32"],[4,"Option",939],[4,"Constant",388],[4,"SortCtor",388],[3,"FuncSort",388],[3,"PolyFuncSort",388],[4,"Proj",388],[3,"Const",388],[8,"Clone",940],[4,"BinOp",388],[4,"UnOp",388],[4,"Expr",388],[3,"PredTag",388],[3,"FmtParens",388],[4,"Pred",388],[4,"Func",388],[3,"StringTypes",0]],"b":[[153,"impl-Display-for-Task%3CT%3E"],[154,"impl-Debug-for-Task%3CT%3E"],[345,"impl-Debug-for-BigInt"],[346,"impl-Display-for-BigInt"],[348,"impl-From%3Cusize%3E-for-BigInt"],[351,"impl-From%3Ci32%3E-for-BigInt"],[352,"impl-From%3Ci128%3E-for-BigInt"],[353,"impl-From%3Cu128%3E-for-BigInt"],[610,"impl-PartialEq-for-Constant"],[611,"impl-Constant"],[657,"impl-Debug-for-BinOp"],[658,"impl-Display-for-BinOp"],[659,"impl-Debug-for-UnOp"],[660,"impl-Display-for-UnOp"],[661,"impl-Debug-for-Constant"],[662,"impl-Display-for-Constant"],[694,"impl-From%3Cu128%3E-for-Constant"],[695,"impl-From%3Ci32%3E-for-Constant"],[696,"impl-From%3Cusize%3E-for-Constant"],[697,"impl-From%3Ci128%3E-for-Constant"],[698,"impl-From%3Cbool%3E-for-Constant"]]},\ "flux_macros":{"doc":"","t":"YYAOAAFAAAFADDDLLLLLLMMLMLLLFLLLLLLLMMMMLLLLLLLLLNDEDNLLLLLLLLLLLLMMLLLMMLLLLLLLLLLLMMLLMMLLLLLLLLLLLMENNFLLLLLLFFFOOLLLLFFFFFDDDMMMLLLLLLLLMMMLMLLLLLLLLLLMMMLLLLLLMLMMMLLLLLLLLLLMEERDEGINNNNNNNNNNNNNINNGEDNENNNNNNLMMLLLLLLLLLLLLLLFLFLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLFMFMFFFFFKFMLLLMLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLFFFKKLLMMMMMM","n":["Diagnostic","Subdiagnostic","diagnostics","fluent_messages","diagnostic","diagnostic_builder","diagnostic_derive","error","fluent","subdiagnostic","subdiagnostic_derive","utils","DiagnosticDerive","LintDiagnosticDerive","Mismatch","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","builder","builder","check","crate_name","from","from","from","generate_test","into","into","into","into_tokens","into_tokens","new","new","slug_name","slug_prefix","structure","structure","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","Diagnostic","DiagnosticDeriveBuilder","DiagnosticDeriveKind","DiagnosticDeriveVariantBuilder","LintDiagnostic","add_spanned_subdiagnostic","add_subdiagnostic","as_any","body","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","code","diag","each_variant","eq","equals","field_map","formatting_init","from","from","from","generate_field_attrs_code","generate_field_code","generate_inner_field_code","generate_structure_code_for_attr","get_field_binding","into","into","into","kind","parent","parse_subdiag_attribute","preamble","slug","span","span_and_applicability_of_ty","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","handler","DiagnosticDeriveError","ErrorHandled","SynError","_throw_err","borrow","borrow_mut","fmt","from","from","into","invalid_attr","path_to_string","span_err","throw_invalid_attr","throw_span_err","to_compile_error","try_from","try_into","type_id","failed","finish","fluent_messages","invocation_relative_path_to_absolute","variable_references","KindsStatistics","SubdiagnosticDeriveBuilder","SubdiagnosticDeriveVariantBuilder","all_applicabilities_static","all_multipart_suggestions","applicability","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","diag","f","fields","fmt","formatting_init","from","from","from","from_iter","generate_field_attr_code","generate_field_code_inner","generate_field_code_inner_list","generate_field_code_inner_path","generate_field_set_arg","get_field_binding","has_multipart_suggestion","has_normal_suggestion","has_suggestion_parts","identify_kind","into","into","into","into_tokens","into_tokens","is_enum","new","parent","span","span_field","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","variant","AllowMultipleAlternatives","Applicability","CODE_IDENT_COUNT","FieldInfo","FieldInnerTy","FieldMap","HasFieldMap","HasPlaceholders","Help","Hidden","Label","MachineApplicable","MaybeIncorrect","MultipartSuggestion","No","None","Normal","Note","Option","Plain","SetOnce","Short","Some","SpannedOption","SubdiagnosticKind","SubdiagnosticVariant","Suggestion","SuggestionKind","ToolOnly","Unspecified","Vec","Verbose","Warn","Yes","as_any","base","binding","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_field_mapping","build_format","build_suggestion_code","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","eq","equals","fmt","fmt","fmt","from","from","from","from","from","from","from","from_attr","from_str","from_str","from_suffix","from_type","get_field_binding","inner_type","into","into","into","into","into","into","into","is_doc_comment","kind","new_code_ident","no_span","parse_suggestion_values","report_error_if_not_applied_to_applicability","report_error_if_not_applied_to_span","report_error_if_not_applied_to_ty","report_type_error","set_once","should_generate_set_arg","slug","span","span","span","span","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_suggestion_style","to_tokens","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_is_bool","type_is_unit","type_matches_path","value","value_ref","will_iterate","with","applicability","applicability","code_field","code_init","suggestion_kind","suggestion_kind"],"q":[[0,"flux_macros"],[4,"flux_macros::diagnostics"],[12,"flux_macros::diagnostics::diagnostic"],[49,"flux_macros::diagnostics::diagnostic_builder"],[101,"flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"],[102,"flux_macros::diagnostics::error"],[121,"flux_macros::diagnostics::fluent"],[126,"flux_macros::diagnostics::subdiagnostic"],[180,"flux_macros::diagnostics::utils"],[323,"flux_macros::diagnostics::utils::SubdiagnosticKind"],[329,"synstructure"],[330,"proc_macro2"],[331,"syn::path"],[332,"core::option"],[333,"proc_macro2"],[334,"core::any"],[335,"core::any"],[336,"synstructure"],[337,"alloc::string"],[338,"proc_macro"],[339,"proc_macro::diagnostic"],[340,"core::ops::function"],[341,"core::fmt"],[342,"proc_macro::diagnostic"],[343,"proc_macro"],[344,"fluent_syntax::ast"],[345,"alloc::vec"],[346,"core::iter::traits::collect"],[347,"syn::attr"],[348,"proc_macro2"],[349,"syn::ty"],[350,"syn::lit"],[351,"syn::error"],[352,"quote::to_tokens"]],"d":["","","","","","","","","","","","","The central struct for constructing the into_diagnostic …","The central struct for constructing the decorate_lint …","","","","","","","","","","Checks whether the slug starts with the crate name it’s …","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Generates a #[test] that verifies that all referenced …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Tracks persistent information required for the entire type …","What kind of diagnostic is being derived - a …","Tracks persistent information required for a specific …","","Adds a spanned subdiagnostic by generating a …","Adds a subdiagnostic by generating a diag.span_$kind call …","","Generates calls to span_label and similar functions based …","","","","","","","","","Error codes are a optional part of the struct attribute - …","The identifier to use for the generated DiagnosticBuilder …","Call f for the struct or for each variant of the enum, …","","","Store a map of field name to its corresponding field. This …","Initialization of format strings for code suggestions.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Establishes state in the DiagnosticDeriveBuilder resulting …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Kind of diagnostic that should be derived.","The parent builder for the entire type.","Parse a SubdiagnosticKind from an Attribute.","Generates calls to code and similar functions based on the …","Slug is a mandatory part of the struct attribute as …","Span of the struct or the enum variant.","","","","","","","","","","","","","","","","Helper function for use with throw_* macros - constraints …","","","","Returns the argument unchanged.","","Calls U::from(self).","Returns an error diagnostic for an invalid attribute.","Helper function for printing syn::Path - doesn’t handle …","Returns an error diagnostic on span span with msg msg.","Emit an error diagnostic for an invalid attribute …","Emit a diagnostic on span $span with msg $msg (optionally …","","","","","Tokens to be returned when the macro cannot proceed.","Final tokens.","See [rustc_fluent_macro::fluent_messages].","Helper function for returning an absolute path for …","","Provides frequently-needed information about the …","The central struct for constructing the add_to_diagnostic …","Tracks persistent information required for building up the …","","","The binding to the #[applicability] field, if present.","","","","","","","","","","","Store a map of field name to its corresponding field. This …","","Initialization of format strings for code suggestions.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Generates the necessary code for all attributes on a field.","","Generates the code for a [Meta::List]-like attribute on a …","Generates the code for a [Meta::Path]-like attribute on a …","Generates the code for a field with no attributes.","","","","Set to true when a #[suggestion_part] field is …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Set to true when this variant is an enum variant rather …","","The identifier to use for the generated DiagnosticBuilder …","Span for the entire type.","Identifier for the binding to the #[primary_span] field.","","","","","","","","","","","Info for the current variant (or the type if not an enum).","","Applicability of a suggestion - mirrors …","","Field information passed to the builder. Deliberately …","Inner type of a field and type of wrapper.","","","","#[help(...)]","","#[label(...)]","","","#[multipart_suggestion{,_short,_hidden,_verbose}]","","No value.","","#[note(...)]","Field is wrapped in a Option<$inner>.","Field isn’t wrapped in an outer type.","Small helper trait for abstracting over Option fields that …","","Some value of type T.","An Option<T> that keeps track of the span that caused it …","Types of subdiagnostics that can be created using …","","#[suggestion{,_short,_hidden,_verbose}]","Possible styles for suggestion subdiagnostics.","","","Field is wrapped in a Vec<$inner>.","","#[warning(...)]","","","","","","","","","","","","","","","","","","","Build the mapping of field names to fields. This allows …","In the strings in the attributes supplied to this macro, …","Constructs the format!() invocation(s) necessary for a …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Constructs a SubdiagnosticVariant from a field or type …","","","","Returns inner type for a field, if there is one.","Returns the binding for the field with the given name, if …","Returns the inner type.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns an ident of the form __code_N where N is …","","","Reports an error if the field’s type is not Applicability…","Reports an error if the field’s type is not Span.","Reports an error if the field’s type does not match path.","Reports a type error for field with attr.","","Returns true if field should generate a set_arg call …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Checks whether the type ty is bool.","Checks whether the type ty is ().","Checks whether the type name of ty matches name.","","","Returns true if FieldInnerTy::with will result in …","Surrounds inner with destructured wrapper type, exposing …","","","Identifier for variable used for formatted code, e.g. …","Initialization logic for code_field’s variable, e.g. …","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,4,6,7,4,6,7,4,4,6,7,4,0,6,7,4,6,7,6,7,4,4,6,7,6,7,4,6,7,4,6,7,4,14,0,0,0,14,11,11,14,11,16,11,14,16,11,14,14,14,11,16,16,14,14,11,11,16,11,14,11,11,11,11,11,16,11,14,16,11,11,11,11,11,11,14,16,11,14,16,11,14,16,11,14,59,0,22,22,0,22,22,22,22,22,22,0,0,0,0,0,22,22,22,22,0,0,0,0,0,0,0,0,38,38,40,42,40,38,42,40,38,38,38,42,42,40,38,40,42,40,38,38,40,40,40,40,40,40,38,38,40,40,42,40,38,42,40,40,42,40,40,40,38,42,40,38,42,40,38,42,40,38,40,0,0,0,0,0,0,0,49,24,50,24,49,49,24,46,60,50,24,48,48,0,50,60,0,0,0,24,0,50,49,48,50,24,46,50,61,21,21,51,48,49,46,50,24,21,51,48,49,46,50,24,0,47,0,48,49,46,50,24,48,49,46,50,24,50,50,46,50,24,21,51,48,49,46,50,24,51,49,50,50,48,47,48,21,51,48,49,46,50,24,0,51,0,51,0,0,0,0,0,62,0,51,48,49,24,21,48,49,46,50,24,50,50,49,21,51,48,49,46,50,24,21,51,48,49,46,50,24,21,21,51,48,49,46,50,24,0,0,0,62,62,48,48,63,64,63,63,63,64],"f":[0,0,0,0,0,0,[1,2],0,0,0,[1,2],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[3,[[5,[4]]]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[3,1],2],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,2],[7,2],[[8,8,1],6],[[8,1],7],0,0,0,0,[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],0,0,0,0,0,[[11,2,8,3],2],[[11,8,3],2],[-1,12,[]],[[11,13],2],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[14,14],[[-1,-2],15,[],[]],0,0,[[16,1,-1],2,17],[[14,14],18],[[-1,12],18,[]],0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[11,19],2],[[11,19],2],[[11,20,21,2],[[9,[2,22]]]],[[11,20],[[9,[2,22]]]],[[11,23],[[5,[2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[11,20],[[9,[[5,[[15,[24,3,18]]]],22]]]],[[11,13],2],0,0,[[11,21],[[9,[[15,[2,[5,[[15,[2,25]]]]]],22]]]],[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],0,0,0,0,[[26,-1],22,27],[-1,-2,[],[]],[-1,-2,[],[]],[[22,28],29],[-1,-1,[]],[30,22],[-1,-2,[],[]],[20,26],[3,23],[[-1,-2],26,31,[[32,[23]]]],0,0,[22,2],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[8,33],[[2,2],33],[33,33],[[25,34],35],[[[36,[34]]],[[37,[34]]]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[38,38],[[-1,-2],15,[],[]],0,0,0,[[38,28],29],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,38,39],[[40,19,38],2],[[40,38,20,21,18],[[9,[2,22]]]],[[40,38,20,21,41,18],[[9,[2,22]]]],[[40,38,20,21,3],[[9,[2,22]]]],[[40,19],2],[[40,23],[[5,[2]]]],0,0,0,[40,[[9,[[37,[[15,[24,3,18]]]],22]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[42,1],2],[40,[[9,[2,22]]]],0,[[],42],0,0,0,[-1,-2,[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,12,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[13,[[43,[23,2]]]],[[-1,34,44],2,[]],[[8,45,-1,46],2,47],[48,48],[49,49],[46,46],[50,50],[24,24],[[-1,-2],15,[],[]],[[-1,-2],15,[],[]],[[-1,-2],15,[],[]],[[-1,-2],15,[],[]],[[-1,-2],15,[],[]],[[50,50],18],[[-1,12],18,[]],[[46,28],29],[[50,28],29],[[24,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[20,-1],[[9,[[5,[51]],22]]],47],[34,[[9,[49]]]],[34,[[9,[50]]]],[34,[[5,[50]]]],[52,48],[[-1,23],[[5,[2]]],[]],[48,52],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[20,18],0,[[],8],0,[[45,46],[[54,[[37,[53]]]]]],[[20,21],[[9,[15,22]]]],[[20,21],[[9,[15,22]]]],[[20,21,[55,[34]],34],[[9,[15,22]]]],[[20,34],[[9,[56,22]]]],[[-1,-2,25],15,[],[]],[57,18],0,[48,44],[-1,44,[]],[24,[[5,[44]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,23,[]],[50,2],[[49,2],15],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],[-1,[[9,[-2]]],[],[]],0,[-1,10,[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],[-1,10,[]],[52,18],[52,18],[[52,[55,[34]]],18],[-1,[[5,[-2]]],[],[]],[-1,[[5,[-2]]],[],[]],[48,18],[[48,-1,-2],2,58,58],0,0,0,0,0,0],"c":[],"p":[[3,"Structure",329],[3,"TokenStream",330],[3,"Path",331],[3,"Mismatch",12],[4,"Option",332],[3,"DiagnosticDerive",12],[3,"LintDiagnosticDerive",12],[3,"Ident",330],[4,"Result",333],[3,"TypeId",334],[3,"DiagnosticDeriveVariantBuilder",49],[8,"Any",334],[3,"VariantInfo",329],[4,"DiagnosticDeriveKind",49],[15,"tuple"],[3,"DiagnosticDeriveBuilder",49],[8,"Fn",335],[15,"bool"],[3,"BindingInfo",329],[3,"Attribute",336],[3,"FieldInfo",180],[4,"DiagnosticDeriveError",102],[3,"String",337],[4,"SubdiagnosticKind",180],[3,"Span",338],[3,"Diagnostic",339],[8,"FnOnce",335],[3,"Formatter",340],[6,"Result",340],[3,"Error",341],[8,"MultiSpan",339],[8,"Into",342],[3,"TokenStream",338],[15,"str"],[3,"PathBuf",343],[3,"Message",344],[3,"Vec",345],[3,"KindsStatistics",126],[8,"IntoIterator",346],[3,"SubdiagnosticDeriveVariantBuilder",126],[3,"MetaList",336],[3,"SubdiagnosticDeriveBuilder",126],[3,"HashMap",347],[3,"Span",330],[3,"ParseNestedMeta",348],[4,"AllowMultipleAlternatives",180],[8,"HasFieldMap",180],[4,"FieldInnerTy",180],[4,"Applicability",180],[4,"SuggestionKind",180],[3,"SubdiagnosticVariant",180],[4,"Type",349],[3,"LitStr",350],[6,"Result",341],[15,"slice"],[15,"never"],[3,"Field",351],[8,"ToTokens",352],[13,"Diagnostic",101],[6,"SpannedOption",180],[6,"FieldMap",180],[8,"SetOnce",180],[13,"Suggestion",323],[13,"MultipartSuggestion",323]],"b":[]},\ -"flux_metadata":{"doc":"","t":"DDDHRRLLMMLLLLLLLLLLLALLLLLLLLLLLFAFLLLFLMLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLMLMLLLDALLLLLFLLLALLLLLLLLMLLLLLLLLLLLLLLMLLLLLLLDRLLLLLLMLLLLLLLLLMLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLFOLLLLLLLMLLMMLLLLLLML","n":["AdtMetadata","CStore","CrateMetadata","DEFAULT_LOCALE_RESOURCE","METADATA_HEADER","METADATA_VERSION","adt","adt_def","adt_def","adts","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","decode","decode","decoder","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode","encode","encode_metadata","encoder","filename_for_metadata","filterable","filterable","filterable","flux_metadata_extern_location","fn_sig","fn_sigs","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","load","meta","new","refined_by","refined_bys","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","type_of","variants","variants","vzip","vzip","vzip","DecodeContext","__ty_decoder_impl","borrow","borrow_mut","cached_ty_for_shorthand","collect_and_apply","decode_alloc_id","decode_crate_metadata","deref","deref_mut","drop","errors","filterable","from","from","from_cycle_error","init","interner","into","into_query_param","opaque","peek_byte","position","read_i128","read_i16","read_i32","read_i64","read_isize","read_raw_bytes","read_u128","read_u16","read_u32","read_u64","read_u8","read_usize","tcx","to_predicate","to_result","try_from","try_into","type_id","vzip","with_position","DecodeFileError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DecodeFileError","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","err","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","new","path","to_predicate","to_result","try_from","try_into","type_id","vzip","EncodeContext","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_bool","emit_char","emit_i128","emit_i16","emit_i32","emit_i64","emit_i8","emit_isize","emit_raw_bytes","emit_str","emit_u128","emit_u16","emit_u32","emit_u64","emit_u8","emit_usize","encode_alloc_id","encode_metadata","encoder_methods","filterable","from","from","from_cycle_error","init","into","into_query_param","opaque","position","predicate_shorthands","predicate_shorthands","tcx","to_predicate","to_result","try_from","try_into","type_id","type_shorthands","type_shorthands","vzip"],"q":[[0,"flux_metadata"],[87,"flux_metadata::decoder"],[130,"flux_metadata::decoder::errors"],[155,"flux_metadata::encoder"],[201,"rustc_span::def_id"],[202,"core::option"],[203,"flux_middle::rty"],[204,"core::iter::traits::iterator"],[205,"core::ops::function"],[206,"rustc_type_ir::codec"],[207,"rustc_type_ir::codec"],[208,"std::path"],[209,"rustc_middle::ty::context"],[210,"rustc_session::config"],[211,"icu_provider_adapters::filter"],[212,"rustc_span::def_id"],[213,"rustc_query_system::query::job"],[214,"rustc_span"],[215,"flux_errors"],[216,"flux_middle::fhir"],[217,"core::any"],[218,"flux_middle::rty"],[219,"rustc_middle::mir::interpret"],[220,"rustc_errors"],[221,"rustc_errors::diagnostic_builder"],[222,"rustc_errors::diagnostic_builder"],[223,"rustc_middle::ty::sty"],[224,"rustc_hash"]],"d":["","","","Raw content of Fluent resource for this crate, generated …","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","For now it only store type of aliases","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,1,1,3,8,1,8,3,1,8,3,1,8,3,8,3,0,1,8,3,1,8,3,1,8,3,8,3,0,0,0,1,8,3,0,1,8,1,1,8,8,3,3,1,8,3,1,8,3,1,8,3,1,8,3,1,1,8,1,8,1,8,3,1,8,3,1,8,3,1,8,3,1,8,3,1,8,1,3,1,8,3,0,0,33,33,33,33,33,0,33,33,33,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,0,0,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,0,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51],"f":[0,0,0,0,0,0,[[1,2],[[4,[3]]]],[[1,2],[[4,[5]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,6,7,[]],[[-1,-2],-3,6,7,[]],[[-1,-2],-3,6,7,[]],[-1,8,9],[-1,3,9],0,[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,11],[10,11],[10,11],[[8,-1],11,12],[[3,-1],11,12],[[13,14],11],0,[15,16],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[15,19],[[4,[20]]]],[[1,2],[[4,[[22,[21]]]]]],0,[[[23,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[23,[-1]]],-1,[]],[-1,-1,[]],[[[23,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[[],10],[[],10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[15,27],1],0,[13,8],[[1,2],[[4,[28]]]],0,[[-1,15],-2,[],[]],[[-1,15],-2,[],[]],[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[-1,29,[]],[-1,29,[]],[[1,2],[[4,[[22,[30]]]]]],0,[[1,2],[[4,[[32,[[22,[[25,[31]]]]]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[33,10,-1],34,7],[[-1,-2],-3,6,7,[]],[33,35],[[15,27,14],[[4,[8]]]],[10,-1,[]],[10,-1,[]],[10,11],0,[[-1,17],[[18,[-2]]],[],[]],[-1,-1,[]],[[[23,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[33],[-1,-2,[],[]],[-1,-2,[],[]],0,[33,36],[33,10],[33,37],[33,38],[33,39],[33,40],[33,41],[[33,10],[[25,[36]]]],[33,42],[33,43],[33,44],[33,45],[33,36],[33,10],0,[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[-1,-2,[],[]],[[33,10,-1],-2,7,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,6,7,[]],[10,-1,[]],[10,-1,[]],[10,11],0,[[-1,17],[[18,[-2]]],[],[]],[[[23,[-1]]],-1,[]],[-1,-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[-1,-2,[],[]],[[46,47],[[48,[-1]]],49],[-1,-2,[],[]],[[14,50],46],0,[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,6,7,[]],[10,-1,[]],[10,-1,[]],[10,11],[[51,52],11],[[51,53],11],[[51,37],11],[[51,38],11],[[51,39],11],[[51,40],11],[[51,54],11],[[51,41],11],[[51,[25,[36]]],11],[[51,17],11],[[51,42],11],[[51,43],11],[[51,44],11],[[51,45],11],[[51,36],11],[[51,10],11],[[51,35],11],[[13,14],11],0,[[-1,17],[[18,[-2]]],[],[]],[-1,-1,[]],[[[23,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[-1,-2,[],[]],[-1,-2,[],[]],0,[51,10],[51,[[56,[55,10]]]],0,0,[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[51,[[56,[34,10]]]],0,[-1,-2,[],[]]],"c":[],"p":[[3,"CStore",0],[3,"DefId",201],[3,"AdtMetadata",0],[4,"Option",202],[3,"AdtDef",203],[8,"Iterator",204],[8,"FnOnce",205],[3,"CrateMetadata",0],[8,"TyDecoder",206],[15,"usize"],[15,"tuple"],[8,"TyEncoder",206],[3,"GlobalEnv",207],[3,"Path",208],[3,"TyCtxt",209],[4,"OutFileName",210],[15,"str"],[3,"RequestFilterDataProvider",211],[3,"CrateNum",201],[3,"PathBuf",208],[6,"PolyFnSig",203],[3,"EarlyBinder",203],[4,"Result",212],[3,"QueryInfo",213],[15,"slice"],[3,"ErrorGuaranteed",214],[3,"FluxSession",215],[3,"RefinedBy",216],[3,"TypeId",217],[6,"PolyTy",203],[6,"PolyVariant",203],[4,"Opaqueness",203],[3,"DecodeContext",87],[3,"Ty",218],[3,"AllocId",219],[15,"u8"],[15,"i128"],[15,"i16"],[15,"i32"],[15,"i64"],[15,"isize"],[15,"u128"],[15,"u16"],[15,"u32"],[15,"u64"],[3,"DecodeFileError",130],[3,"Handler",220],[3,"DiagnosticBuilder",221],[8,"EmissionGuarantee",221],[3,"Error",222],[3,"EncodeContext",155],[15,"bool"],[15,"char"],[15,"i8"],[6,"PredicateKind",223],[6,"FxHashMap",224]],"b":[]},\ -"flux_middle":{"doc":"This crate contains common type definitions that are used …","t":"HOOOOOOOOOOOOAAAAAAAAAOFFFFFIGKKKKKNNNNNNNDNDNNEENNNNNGNENNDNENNDNNNNDNNNNDNEDDNNNEEEDDDENDEDNEEGDEDDNNNNDNNNNNENNNNDGGNNNENNENNDDNSSSSSSDNNNNNNDEDNNNNNNNNDNNEDNDDNNENNNEDNNNNNNNEDDENNNNNNNNNEEDGDNNDENGSNNENNDDENNNDNNENNNNNNDDDEDDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLLLLLLLLLLLLMLLLLLLLLLLLLLMMMMLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLMMMMMMMMLMLAMMMMMLMMLMMMMMMLLLLLLLLLLMLMMLMMMMMMMMMMMMMMMMLLLLMMMMMMMLLMLMMMMMLLMMMLLMMMMLLMMMMMMMMMMMMLLLLLMLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMDLLLLLLLLALLLLLLLLLLLLLLFLLLLLLFLLLLLLLLLLLFFLFLLLLLMMMMLLLLLLLDRLLLMLLLLLLLLLLLLMMLLLLLLILLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLMLLLLLMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGGDIDGILLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLCCLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMLMMLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNINDEDDINDLLLLMLLLLLLLLLLLLLLLLLMMFLLOLLLLLLLLLLLLLLLLLLLLKLLLLOLLLLLLLLLLLLLLLKLMLMLMMLMMOLLLLLLLLLLLLLLLMOLMLLLLOMFMMOLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLOOGNNNDDEGNLMMLLLMLLLLMMLLLLLLLLMMLLLLLLLLLOLLLLLMMLLLLLLLLLLLMMLMMLLLLLLLLLLLMMLMLMLMLMLMMMLMMFLLLLLLLLLLLLLLLLLMMLMLMMLLLMMMNNNDDDNEDNNNNENNENDNNNNNOCEDENNNNNDENEDCNNNENNEGNNDDNNNDCNCDNDNNGNENNRNOENNNDDNDNCNDDNDNDEGDEDDNNNENNNNNRHNNNDNCNNNOEDNDNDNNNNNENNNNNNNNNEDNNNNNSNNGENNNNDDNGDGGGNNNNDNEDNNNNONGDCNDNNNEEDNNNNDDNNNNNNEGNEDNNNNNNNHNOEENNNNENNNDDSLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLAMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLMMMMMMMLLLLLLLLLLLLAMMLLMLLLMMMLLLMMMMMMMLMAMMMMLMMALLLLMLLMALLLLLMLLMMMLMMLLLLLLMMMMLLLLLLLLLLLLLLLLALLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLMMMMLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMDDDDEDSSHNNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNENNNENNDNNNGNEDNNNNNENNNNDNDNNENNNSSSSNNDNNNNDNNNDNNNENENNLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLMMLLLLLLLLLLLLLLLLLLLLLLAMMLMLLMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNELLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLQQIIIIIIILLLLLLLLLLLLLLLLLKLLLLLLKKLLLLLKLDDDLLLLLLLLLLLLLMMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLEDNDNNMLLFLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLFFFFFFFFLLLMLMLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLMLMLLLLLLLMLLLLFLLFLLLLFLLLLLLLLLLLLDIDDDDLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLMLMKLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAADDLLLLLLLLLLLLMLLALLLLLLLLLLLLLLLLFLFLLLFLFFLFFLLFFFFFFFFLLLFLFLLLFFLMLMMMMLLLLLLLLLLLLLDDDRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMMMMLLLLLLLLLLLLLLMLLLLLLNNNENNNNENDDENNNNDNDENNDNENNNNENNNNNNNNNNNNNNRNENNNDNNNNNNNNDNNNNNNDDGEDNNNNNNNNNNENDENDNENSRNNNNNERNNNNDDENNNDNNDENNENNNNNENNEDNMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMMMLMLLLLLLLLLFLLFMMMMMMLMLLLLLLLLLLLMLFMLLMMMMLMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMNDDNEDNDNDEDENNNNDENDDENNNNDDDNNDNENDDDDEGDEDDNNNNNNENNNNENNNNNDGNNDNNNNNNNENDDNNNDDNDNEDNNNNNNNENNDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLMLMLMMMLMMMMMLLLLLLLLLLLFMMMLLMLLLLLLLLLLLALLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMIK","n":["DEFAULT_LOCALE_RESOURCE","_Bool","_Float","_Int","_Ref","_Uint","_define_scoped","_format_args_cx","_impl_debug_with_default_cx","_join","_parens","_w","_with_cx","const_eval","cstore","fhir","global_env","intern","pretty","queries","rty","rustc","walk_list","scalar_int_to_constant","scalar_int_to_rty_constant","scalar_to_bits","scalar_to_int","scalar_to_uint","CrateStore","CrateStoreDyn","adt_def","fn_sig","refined_by","type_of","variants","Abs","Add","And","App","App","Arr","Array","ArrayLen","At","BaseTy","BaseTy","BaseTy","BaseTyKind","BinOp","BinaryOp","BitVec","Bool","Bool","Bool","Cache","Char","Coercion","Colon","Const","ConstInfo","Constr","Constraint","Def","Def","Defn","Defn","Div","Dot","EVar","EnumDef","Eq","Error","Exists","Explicit","Expr","Expr","ExprKind","FhirId","FieldDef","Float","Flux","Flux","FluxItem","FluxLocalDefId","FluxOwnerId","FnInfo","FnOutput","FnSig","Func","Func","FuncDecl","FuncKind","FuncSort","Ge","GenericArg","GenericBound","GenericBounds","GenericParam","GenericParamKind","GenericPredicates","Generics","Global","Gt","Hole","Hole","Ident","IfThenElse","Iff","Imp","Indexed","Infer","InferMode","Inject","Int","Int","Int","ItemLocalId","ItemLocalMap","ItemPredicates","KVar","LangItemTrait","Le","Lifetime","Lifetime","Lifetime","Lit","Literal","Loc","LocalTableInContext","LocalTableInContextMut","Lt","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Map","Map","Maybe","Mod","Mul","Mut","Mut","MutTy","Mutability","Name","Ne","Neg","Never","None","Not","Not","Opaque","OpaqueDef","OpaqueTy","Or","Param","ParamKind","Path","Path","PolyFuncSort","PolyTraitRef","Pound","Pred","PrimTy","PrimTy","Project","Ptr","QPath","Qualifier","Qualifier","RawPtr","Real","Real","Record","Record","Ref","RefineArg","RefineParam","RefinedBy","Res","Resolved","Resolved","Rust","Rust","SelfTyAlias","SelfTyParam","Set","Shr","Slice","Sort","SortCtor","SortDecl","SortDecls","SortVid","SplTy","Str","StructDef","StructKind","Sub","SurfaceIdent","TRUE","Thy","Trait","TraitBoundModifier","Transparent","Tuple","Ty","TyAlias","TyKind","Type","Type","Type","TypeBinding","Uif","Uint","UnOp","UnaryOp","Unit","User","Var","Var","Var","VariantDef","VariantIdx","VariantRet","WeakKind","WfckResults","WhereBoundPredicate","Wildcard","add","add","add","add_trusted","all_params","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args","args","args","arity","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_path","as_path","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","backward_checked","backward_checked","backward_checked","base","base","bindings","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bound_generic_params","bounded_ty","bounds","bounds","bty","buf","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","coercions","coercions","coercions_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","const_by_name","consts","consts","data","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","default","default_infer_mode","defn","defns","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","descr","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_bound","early_bound_params","early_bound_sorts","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","ensures","enums","enums","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expect_type","expr","expr","externs","fhir_id","fhir_id","fhir_id","field_index","field_sort","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","flux_items","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fn_quals","fn_quals","fn_sig","fn_sigs","fns","forward_checked","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_index","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","fsort","func_decl","func_decls","func_decls","generics","get","get_enum","get_extern","get_flux_item","get_fn_quals","get_fn_sig","get_generic_predicates","get_generics","get_opaque_ty","get_param","get_refine_params","get_struct","get_type_alias","global","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","ident","ident","idx","in_use","index","index","index","index","index","index","index","index_params","index_params","index_sorts","infer_mode","infer_mode","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","inputs","inputs_and_output","insert","insert_const","insert_defn","insert_enum","insert_extern","insert_fn_quals","insert_fn_sig","insert_func_decl","insert_generic_predicates","insert_generics","insert_opaque_tys","insert_qualifier","insert_refined_by","insert_sort_decl","insert_struct","insert_theory_func","insert_theory_funcs","insert_type_alias","instantiate","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic_arg","into_diagnostic_arg","into_diagnostic_arg","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","invariants","is_base_generic","is_bool","is_bool","is_implicit","is_numeric","is_opaque","is_pred","is_trusted","is_wildcard","kind","kind","kind","kind","kind","kind","kind","len","lifetime_holes","lifetime_holes","lifetime_holes_mut","lift","lifted","lifted","lifted","lifted","local_id","map","map","mutbl","name","name","name","name","name","name","name","new","new","new","new","new","new","new","new","new","node_sorts","node_sorts","node_sorts_mut","opaque_tys","opaque_tys","output","output","owner","owner","owner","owner","owner_id","owner_id","owner_id","params","params","params","params","params","params","params","params","partial_cmp","partial_cmp","partial_cmp","partial_cmp","predicates","predicates","predicates","private","private","private","private","qualifiers","recover","refine","refined_by","refined_by","requires","res","ret","ret","set","skip_binders","sort","sort","sort","sort_decl","sort_decls","sort_decls","sort_params","sorts","source_info","span","span","span","span","span","span","span","span","span","span","span","span","span","span","steps_between","steps_between","steps_between","storage","structs","structs","subst","sym","sym","tag","term","to_debug_str","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","to_string","trait_def_id","trait_ref","trivial","trusted","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","ty","ty","type_aliases","type_aliases","type_holes","type_holes","type_holes_mut","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unify_values","val","val","variants","visit","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_refined_by","default","expr","is_binder","alias_to","is_trait_impl","trait_","name","fields","LiftCtxt","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_err","emit_unsupported","errors","filterable","from","from","from_cycle_error","generic_params_into_args","init","insert_opaque_ty","into","into_query_param","lift_array_len","lift_enum_variant","lift_enum_variant_id","lift_field_def","lift_field_def_id","lift_fn","lift_fn_ret_ty","lift_fn_sig","lift_generic_args","lift_generic_bound","lift_generic_param","lift_generic_predicates","lift_generics","lift_generics","lift_generics_inner","lift_generics_with_predicates","lift_lifetime","lift_mut_ty","lift_opaque_ty","lift_path","lift_path_to_ty","lift_poly_trait_ref","lift_predicates","lift_qpath","lift_refined_by","lift_self_ty","lift_ty","lift_type_alias","lift_type_bindings","lift_variant_ret","lift_variant_ret_inner","lift_where_predicate","new","opaque_tys","owner","sess","tcx","to_predicate","to_result","try_from","try_into","type_id","vzip","with_new_owner","UnsupportedHir","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedHir","borrow","borrow_mut","collect_and_apply","def_kind","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","new","note","span","to_predicate","to_result","try_from","try_into","type_id","vzip","Visitor","visit_bty","visit_constraint","visit_enum_def","visit_expr","visit_field_def","visit_fn_output","visit_fn_sig","visit_func_sort","visit_generic_arg","visit_ident","visit_lifetime","visit_literal","visit_poly_func_sort","visit_qpath","visit_refine_arg","visit_refine_param","visit_sort","visit_struct_def","visit_ty","visit_type_binding","visit_variant","visit_variant_ret","walk_bty","walk_constraint","walk_enum_def","walk_expr","walk_field_def","walk_fn_output","walk_fn_sig","walk_func_sort","walk_generic_arg","walk_poly_func_sort","walk_qpath","walk_refine_arg","walk_refine_param","walk_sort","walk_struct_def","walk_ty","walk_type_binding","walk_variant","walk_variant_ret","GlobalEnv","Ident","Symbol","adt_def","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check_wf","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","const_by_name","cstore","cstore","ctor_has_equality","defns","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","early_bound_sorts_of","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","field_index","field_sort","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fn_sig","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_decl","func_decls","generics_of","get_generic_param","has_equality","hir","index_sorts_of","init","init","init","instantiate_arg_for_constructor","instantiate_arg_for_fun","into","into","into","into_query_param","into_query_param","into_query_param","is_box","is_fn_once_output","is_suggestable","is_suggestable","item_bounds","lookup_extern","lower_fn_sig","lower_late_bound_vars","lower_type_of","make_suggestable","make_suggestable","map","map","map_mut","mir","mk_box","name","new","predicates_of","providers","qualifiers","queries","recover","recover","refine_default","refine_default_generic_args","refine_with_holes","sess","sort_of_bty","sort_of_generic_param","sort_of_path","sort_of_self_ty","sort_of_self_ty_alias","sort_of_ty","span","tcx","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","variances_of","variant_sig","variants_of","vzip","vzip","vzip","Guard","InternMap","InternStorage","Internable","Interned","List","SliceInternable","abs","alias","and","app","arc","arc","array","as_any","as_closure","as_generator","as_generator","as_ref","as_tuple","at_base","binary_op","blocked","bool","borrow","borrow","borrow_mut","borrow_mut","char","clone","clone_into","closure","cmp","cmp","collect_and_apply","collect_and_apply","compare","compare","const_def_id","const_op","constant","constant_at","constr","decode","decode","deref","deref","deref","deref_mut","deref_mut","discr","downcast","drop","drop","drop","drop_slow","early_bvar","empty","empty","encode","encode","eq","eq","eq","eq_at","equals","equivalent","equivalent","equivalent","equivalent","equivalent","eta_expand_abs","eta_expand_tuple","evar","exists","exists_with_constr","expect_tuple","ff","fill_item","filterable","filterable","float","fmt","fmt","fmt","fmt","fold_sort","from","from","from","from","from","from","from_arr","from_arr","from_bits","from_cycle_error","from_cycle_error","from_iter","from_slice","from_slice","from_vec","from_vec","fvar","ge","generator","get","global_func","gt","hash","hasher","hole","identity_for_item","impl_internable","impl_slice_internable","implies","indexed","init","init","int","int_max","int_min","into","into","into_iter","into_query_param","into_query_param","is_abs","is_atom","is_binary_op","is_trivially_true","is_true","is_tuple","ite","kind","kvar","late_bvar","le","list_with","list_with","local","lt","map","marker","mk_ref","mk_slice","ne","neg","never","new","new","not","nu","one","opaque","or","param","partial_cmp","partial_cmp","path_proj","projection","ptr","rwlock","select","shards","shift","simplify","singleton","singleton","span","storage","storage","str","subst","to_loc","to_owned","to_path","to_predicate","to_predicate","to_result","to_result","to_sort_list","to_sort_list","to_string","to_var","try_fold_with","try_from","try_from","try_into","try_into","tt","tuple","tuple","tuple_proj","tuple_projs","type_id","type_id","uint","uint_max","unary_op","unblocked","unconstr","uninit","unit","unit","usize","var","visit_with","vzip","vzip","zero","All","FromOpt","Hide","Join","KVarArgs","PPrintCx","Parens","Pretty","SelfOnly","WithCx","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bindings_chain","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cx","data","def_id_to_string","default","default_cx","define_scoped","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","format_args_cx","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_opt","from_opt","full_spans","fully_qualified_paths","fully_qualified_paths","hide_binder","hide_binder","hide_refinements","hide_regions","hide_regions","hide_uninit","impl_debug_with_default_cx","init","init","init","init","init","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","join","kvar_args","kvar_args","merge","new","new","new","parens","parenthesize","pprint_with_default_cx","preds_chain","sep","set_opts","show_is_binder","show_is_binder","simplify_exprs","tags","tcx","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","val","vzip","vzip","vzip","vzip","vzip","w","with_cx","Cache","Emitted","Err","Ok","Providers","Queries","QueryErr","QueryResult","UnsupportedType","adt_def","adt_def","adt_def","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check_wf","check_wf","check_wf","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","default","default","defns","defns","defns","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","empty_query","filterable","filterable","filterable","fmt","fn_sig","fn_sig","fn_sig","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_decls","func_decls","func_decls","generics_of","generics_of","generics_of","init","init","init","into","into","into","into_diagnostic","into_query_param","into_query_param","into_query_param","item_bounds","item_bounds","item_bounds","lower_fn_sig","lower_fn_sig","lower_late_bound_vars","lower_late_bound_vars","lower_type_of","lower_type_of","mir","mir","predicates_of","predicates_of","predicates_of","providers","qualifiers","qualifiers","qualifiers","run_with_cache","to_owned","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","type_of","type_of","unsupported","value","variants_of","variants_of","variants_of","vzip","vzip","vzip","def_id","def_span","reason","Abs","Add","Adt","AdtDef","AdtDefData","AdtFlags","Alias","AliasKind","AliasTy","And","App","App","Array","BaseTy","BaseTy","BaseTy","BinOp","BinaryOp","Binder","BitVec","Blocked","Bool","Bool","Bool","Bool","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","Box","BrAnon","BrEnv","BrNamed","Char","Clause","ClauseKind","Closure","ClosureKind","ClosureOblig","Const","Const","Const","ConstDefId","Constant","Constant","Constr","Constraint","Constraints","Coroutine","CoroutineWitness","Defn","Defns","Discr","Div","Downcast","ESpan","EVar","EVar","EVarGen","EarlyBinder","EarlyBound","EarlyBoundRegion","Eq","Exists","Expr","Expr","ExprKind","F32","F64","FIRST_VARIANT","Float","Float","FloatTy","Fn","FnMut","FnOnce","FnOutput","FnSig","FnTrait","FnTraitPredicate","Free","FreeRegion","Func","FuncDecl","FuncSort","Ge","GeneratorArgs","GeneratorOblig","GeneratorObligPredicate","GenericArg","GenericArgs","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","GlobalFunc","Gt","Hole","HoleKind","I128","I16","I32","I64","I8","INNERMOST","INT_TYS","IfThenElse","Iff","Imp","Index","Indexed","InferMode","Int","Int","Int","Int","IntTy","Invariant","Isize","KVar","KVar","KVid","LateBound","Le","Leaf","Lifetime","Lifetime","Loc","Loc","Local","Local","Lt","Map","Mod","Mul","Mut","Mut","Mutability","Name","Ne","Neg","Never","Not","Not","ONE","Opaque","Opaque","OpaqueArgsMap","Opaqueness","Or","Param","Param","Param","ParamTy","Path","PathProj","PolyFnSig","PolyFuncSort","PolyTy","PolyVariant","PolyVariants","Pred","Pred","Projection","Projection","ProjectionPredicate","Ptr","PtrKind","Qualifier","RawPtr","Real","Real","Ref","Ref","Refine","RefineArgs","RefineParam","Region","Region","ScalarInt","Set","Shr","Slice","Sort","SortCtor","SortVar","SplTy","Str","Sub","Trait","TraitPredicate","TraitRef","Transparent","Tuple","Tuple","Tuple","Tuple","TupleProj","TupleTree","Ty","Ty","TyKind","TyS","Type","Type","U128","U16","U32","U64","U8","UINT_TYS","Uint","Uint","UintTy","UnOp","UnaryOp","Uninit","User","Usize","Var","Var","Var","Var","VariantIdx","VariantSig","ZERO","adt","adt_def","alias","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","app","arc","arc","arc","arc","arc","arc","args","args","args","args","args","args","args","args","array","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_bty_skipping_existentials","as_deref","as_deref","as_generator","as_leaf","as_ref","as_ref","as_ref","base","base","bits","blocked","body","bool","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","box_args","char","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","closure","collect_all_refine_params","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","constr","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","default_cx","default_cx","default_infer_mode","defns","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","did","discr","downcast","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","ensures","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evars","exists","exists_with_constr","expect","expect_adt","expect_discr","expect_func","expect_leaf","expect_refine","expect_tuple","expect_type","expr","expr","expr","fields","fields","fill_item","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","flatten","float","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_param_def","from_ref","fsort","ge","generator","global","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","identity_for_item","idx","iff","imp","index","index","index","index","indexed","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs_and_output","instantiate","instantiate_identity","instantiate_identity","instantiate_identity_into","int","int_invariants","int_max","int_min","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_ty","into_ty","invariants","invariants","invariants","is_array","is_array","is_binder","is_bool","is_bool","is_bool","is_box","is_box","is_box","is_closure","is_closure","is_enum","is_integral","is_integral","is_opaque","is_pred","is_slice","is_slice","is_struct","is_struct","is_struct","is_suggestable","is_trivially_true","is_tuple","is_tuple","is_uninit","is_unit","is_valid_base_arg","is_valid_base_ty","kind","kind","kind","kind","kind","kind","kind","kvid","loc","make_suggestable","map","map","map","mk_ref","mk_slice","mode","name","name","name","name","name","name","ne","never","new","new","new","new","new","new","new","new","new","new","normalize","oblig_def_id","oblig_sig","ok_or_else","opaque","opaque","or","output","output","output","output","output","param","param_at","params","params","params","parent","parent","parent_count","parent_refine_count","pred","predicates","predicates","pretty","private","private","private","private","projection","projection","projection_ty","projections","ptr","rebind","recover","recover","refine_args","refine_count","refine_param_at","refine_params","refining","replace_bound_expr","replace_bound_exprs","replace_bound_exprs_with","replace_bound_vars","requires","requires","resume_ty","ret","ret","rustc","self_args","self_ty","self_ty","size","skip_binder","skip_binder","skip_binders","slice","sort","sort","sort","sort","sort","span","split","split","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","str","subst","super_visit_with","super_visit_with","super_visit_with","term","to_closure_sig","to_closure_sig","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_poly_fn_sig","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","to_string","trait_ref","transpose","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_map","try_map","try_super_fold_with","try_super_fold_with","try_super_fold_with","try_super_fold_with","tuple","tuple","tupled_args","tupled_upvars_ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint","uint_invariants","uint_max","unblocked","unconstr","uninit","unit","unit","unit","unit","usize","value","value","value","value","variant","variants","vars","vars","vars","vars","vars","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk","with_fresh_fvars","with_sort","with_sorts","has_default","has_default","name","EVar","EVarCxId","EVarGen","EVarSol","EVarState","EVid","MAX","MAX_AS_U32","NEXT_CTXT_ID","Unified","Unsolved","UnsolvedEvar","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_any","as_u32","as_usize","backward_checked","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","cx","cx","decode","decode","decode","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evar","evars","evars","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fix","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","fresh_in_cx","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u32","from_u32_unchecked","from_usize","get","hash","hash","hash","id","index","index","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","new","new","new_ctxt","partial_cmp","partial_cmp","partial_cmp","pretty","private","solve","steps_between","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Abs","Add","And","App","BinOp","BinaryOp","Bool","ConstDefId","Constant","Constant","Div","ESpan","EVar","EarlyBound","Eq","Expr","Expr","ExprKind","ExprS","Free","Ge","GlobalFunc","Gt","Hole","HoleKind","IfThenElse","Iff","Imp","Int","KVar","KVar","KVid","LateBound","Le","Loc","Local","Local","Lt","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Mod","Mul","Name","Ne","Neg","Not","Or","Path","PathProj","Pred","Real","SpanData","Sub","Tuple","TupleProj","UnOp","UnaryOp","Var","Var","Var","abs","add","add","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","app","arc","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_tuple","as_u32","as_u32","as_usize","as_usize","at_base","backward_checked","backward_checked","base","base","binary_op","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","const_def_id","const_op","constant","constant_at","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","div","div","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_bvar","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq_at","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","espan","eta_expand_abs","eta_expand_tuple","evar","expect_tuple","ff","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold_sort","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_place","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","fvar","ge","global_func","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hi","hole","impl_ops","implies","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","int_max","int_min","intern","intern_at","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_abs","is_atom","is_binary_op","is_trivially_true","is_true","is_tuple","ite","kind","kind","kvar","kvid","late_bvar","le","lo","loc","local","lt","mul","mul","ne","neg","new","new","new","new","new","new","not","nu","one","or","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_proj","pretty","private","private","projection","projection","scope","self_args","self_args","simplify","span","span","span","span","steps_between","steps_between","storage","storage","storage","sub","sub","super_visit_with","to_expr","to_expr","to_expr","to_loc","to_loc","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_path","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_var","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_super_fold_with","tt","tuple","tuple_proj","tuple_projs","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_max","unary_op","unit","var","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_base","zero","AddSub","And","Cmp","Iff","Imp","MulDiv","Or","Precedence","as_any","borrow","borrow_mut","cmp","collect_and_apply","compare","compare","deref","deref_mut","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","from","from","from_cycle_error","init","into","into_query_param","is_associative","partial_cmp","precedence","to_predicate","to_result","try_from","try_into","type_id","vzip","BreakTy","Error","FallibleTypeFolder","TypeFoldable","TypeFolder","TypeSuperFoldable","TypeSuperVisitable","TypeVisitable","TypeVisitor","fold_binder","fold_bty","fold_expr","fold_region","fold_sort","fold_ty","fold_with","fvars","has_escaping_bvars","normalize","normalize_projections","opaque_refine_args","replace_evars","replace_holes","shift_in_escaping","shift_out_escaping","super_fold_with","super_visit_with","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_fold_with","try_super_fold_with","visit_binder","visit_bty","visit_expr","visit_fvar","visit_ty","visit_with","with_holes","BaseSpanner","Defns","Normalizer","app","at_base","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","default","defn_deps","defns","defs","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","espan","filterable","filterable","filterable","fold_expr","fold_expr","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_defn","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","new","new","new","normalize","sorted_defns","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_ty","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","tuple_proj","type_id","type_id","type_id","vzip","vzip","vzip","Candidate","Normalizer","ParamEnv","TVarSubst","TraitDef","UserDefinedImpl","args","assemble_candidates_from_impls","assemble_candidates_from_param_env","assemble_candidates_from_predicates","assemble_candidates_from_trait_def","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","confirm_candidate","def_id","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","filterable","filterable","filterable","fmt","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","genv","infer_from_arg","infer_from_region","infer_from_ty","init","init","init","insert_early_bound_region","insert_param_ty","into","into","into","into_query_param","into_query_param","into_query_param","into_rustc_alias_kind","into_rustc_alias_ty","into_rustc_bound_region","into_rustc_bty","into_rustc_generic_arg","into_rustc_generic_args","into_rustc_region","into_rustc_ty","mk_subst","new","normalize_projection_ty","param_env","rustc_param_env","selcx","tcx","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Refiner","adt_def","as_default","borrow","borrow_mut","collect_and_apply","default","deref","deref_mut","drop","filterable","from","from","from_cycle_error","generics","generics_of","genv","init","into","into_query_param","iter_with_generic_params","iter_with_generics_of","new","param","refine","refine_alias_kind","refine_alias_ty","refine_args_of","refine_binders","refine_bound_variables","refine_clause","refine_clauses","refine_default","refine_fn_trait_pred","refine_generic_arg","refine_generic_arg_raw","refine_generic_predicates","refine_generics","refine_poly_fn_sig","refine_poly_ty","refine_trait_ref","refine_ty","refine_variant_def","to_predicate","to_result","try_from","try_into","type_id","vzip","with_holes","BoundVarReplacer","BoundVarReplacerDelegate","EVarSubstFolder","FnMutDelegate","GenericsSubstFolder","RegionSubst","apply","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bty_for_param","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","current_index","current_index","delegate","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","evars","expr_for_param","exprs","filterable","filterable","filterable","filterable","filterable","fmt","fold_binder","fold_binder","fold_expr","fold_expr","fold_expr","fold_region","fold_region","fold_sort","fold_ty","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics","infer_from_bty","infer_from_region","infer_from_ty","init","init","init","init","init","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","map","new","new","new","new","refine","region_for_param","regions","replace_expr","replace_expr","replace_region","replace_region","sort_for_param","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_bty","try_fold_expr","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_ty","try_fold_ty","try_fold_ty","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","ty_for_param","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","lowering","mir","ty","LoweringCtxt","UnsupportedReason","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","descr","drop","drop","errors","filterable","filterable","fmt","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diagnostic_arg","into_query_param","into_query_param","lower_adt_def","lower_aggregate_kind","lower_alias_kind","lower_assert_msg","lower_basic_block_data","lower_bin_op","lower_binder","lower_borrow_kind","lower_bound_region","lower_bound_vars","lower_cast_kind","lower_clause","lower_const","lower_constant","lower_fake_read_cause","lower_field","lower_fn_sig","lower_generic_arg","lower_generic_args","lower_generic_param_def","lower_generic_predicates","lower_generics","lower_item_bounds","lower_local_decl","lower_mir_body","lower_operand","lower_place","lower_pointer_coercion","lower_region","lower_rvalue","lower_statement","lower_terminator","lower_ty","lower_variant","new","param_env","resolve_call","rustc_mir","selcx","sess","tcx","to_owned","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","UnsupportedGenericBound","UnsupportedLocalDecl","UnsupportedMir","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","kind","new","new","new","reason","reason","span","span","span","statement","terminator","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","ty","type_id","type_id","type_id","vzip","vzip","vzip","Add","Adt","Aggregate","AggregateKind","Arg","Array","AscribeUserType","Assert","AssertKind","Assign","BasicBlock","BasicBlockData","BinOp","BinaryOp","BitAnd","BitOr","Bivariant","Body","Bool","BorrowData","BorrowKind","BoundsCheck","Call","CallArgs","Cast","CastKind","Char","CheckedBinaryOp","Cleanup","Closure","Constant","Constant","Continue","Contravariant","Copy","Coroutine","CoroutineDrop","Covariant","Deref","Discriminant","Div","DivisionByZero","Downcast","Drop","Eq","FIRST_VARIANT","FakeRead","FakeReadCause","FalseEdge","FalseUnwind","Field","FieldIdx","Float","FloatToInt","ForLet","ForMatchedPlace","Ge","Goto","Gt","Index","Instance","Int","IntToFloat","IntToInt","Invariant","Le","Len","Local","LocalDecl","LocalDecls","LocalKind","Location","Lt","Move","Mul","Mut","MutToConstPointer","Ne","Neg","Nop","Not","Opaque","Operand","Overflow","Place","PlaceElem","PlaceMention","PlaceTy","Pointer","PointerCast","PtrToPtr","RETURN","RETURN_PLACE","Ref","Rem","RemainderByZero","Return","ReturnPointer","Rvalue","START_BLOCK","SetDiscriminant","Shared","Shl","Shr","SourceInfo","Statement","StatementKind","Str","Sub","SwitchInt","SwitchTargets","Temp","Terminate","Terminator","TerminatorKind","Tuple","Uint","UnOp","UnaryOp","Unit","Unreachable","Unreachable","Unsize","UnwindAction","UnwindResume","Use","Variance","VariantIdx","Yield","_marker","activation_location","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args_iter","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_field","assigned_place","basic_blocks","behind_raw_ptr","block","body_with_facts","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_data","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrowed_place","calculate_borrows_out_of_scope_at_location","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dominators","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fake_predecessors","field_ty","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ty","hash","hash","hash","impl_f","infcx","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_cleanup","is_join_point","is_nop","is_return","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","kind","kind","kind","local","local_decls","local_kind","lowered","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","mk_fake_predecessors","new","new","opt_bb_to_str","orig","private","private","private","private","projection","projection_ty","raw","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","region","region_inference_context","replicate_infer_ctxt","reserve_location","resume_local","rustc_body","scope","source_info","source_info","source_info","span","span","statement_index","statements","storage","targets","terminator","terminator_loc","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","ty","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","values","variant_index","vars_and_temps_iter","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","kind","args","cond","destination","discr","drop","expected","func","generic_args","imaginary_target","msg","place","real_target","real_target","resolved_call","resume","resume_arg","target","target","target","target","targets","unwind","unwind","unwind","value","Adt","AdtDef","AdtDefData","Alias","AliasKind","AliasTy","Array","Binder","Bool","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","BrAnon","BrEnv","BrNamed","Char","Clause","ClauseKind","Closure","ClosureArgs","ClosureArgsParts","Const","Const","Const","Coroutine","CoroutineWitness","DebruijnIndex","EarlyBinder","EarlyBoundRegion","F32","F64","FieldDef","Float","FloatTy","FnPtr","FnSig","FreeRegion","GeneratorArgs","GeneratorArgsParts","GenericArg","GenericArgs","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","I128","I16","I32","I64","I8","Int","IntTy","Isize","Lifetime","Lifetime","Mut","Mutability","Never","Not","Opaque","Param","Param","ParamTy","PolyFnSig","Projection","Projection","ProjectionPredicate","RawPtr","ReEarlyBound","ReFree","ReLateBound","ReStatic","ReVar","Ref","Region","Region","RegionVid","ScalarInt","Slice","Str","Trait","TraitPredicate","TraitRef","Tuple","Ty","Ty","TyKind","TyS","Type","U128","U16","U32","U64","U8","Uint","UintTy","Usize","Value","ValueConst","VariantDef","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","arc","args","args","args","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_closure","as_generator","as_ref","bind_with_vars","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bound_region","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","closure_kind_ty","closure_sig_as_fn_ptr_ty","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","did","did","did","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expect_adt","expect_const","expect_lifetime","expect_type","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","flags","flags","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs_and_output","instantiate_identity","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_box","is_box","is_enum","is_mut_ref","is_struct","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_union","kind","kind","kind","kind","kind","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","mk_adt","mk_alias","mk_array","mk_bool","mk_char","mk_closure","mk_coroutine","mk_float","mk_fn_ptr","mk_generator_witness","mk_int","mk_never","mk_param","mk_raw_ptr","mk_ref","mk_slice","mk_str","mk_tuple","mk_uint","mk_usize","name","name","name","name","name","new","new","new","non_enum_variant","orig","output","params","parent","parent","parent_args","parent_args","parent_count","predicates","private","private","private","projection_ty","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","region_to_string","resume_ty","return_ty","scope","self_ty","self_ty","size","skip_binder","skip_binder","split","split","storage","storage","storage","storage","storage","storage","storage","subst","subst","subst","subst","subst","subst","subst","subst","term","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","trait_ref","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tuple_fields","tupled_upvars_ty","tupled_upvars_ty","tupled_upvars_ty","tupled_upvars_ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upvar_tys","upvar_tys","val","var","variant","variants","variants","vars","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness","yield_ty","has_default","has_default","Subst","subst"],"q":[[0,"flux_middle"],[23,"flux_middle::const_eval"],[28,"flux_middle::cstore"],[35,"flux_middle::fhir"],[2193,"flux_middle::fhir::GenericParamKind"],[2194,"flux_middle::fhir::RefineArg"],[2196,"flux_middle::fhir::Res"],[2199,"flux_middle::fhir::SortCtor"],[2200,"flux_middle::fhir::StructKind"],[2201,"flux_middle::fhir::lift"],[2264,"flux_middle::fhir::lift::errors"],[2290,"flux_middle::fhir::visit"],[2332,"flux_middle::global_env"],[2488,"flux_middle::intern"],[2699,"flux_middle::pretty"],[2858,"flux_middle::queries"],[2979,"flux_middle::queries::QueryErr"],[2982,"flux_middle::rty"],[5054,"flux_middle::rty::GenericParamDefKind"],[5056,"flux_middle::rty::SortCtor"],[5057,"flux_middle::rty::evars"],[5307,"flux_middle::rty::expr"],[5938,"flux_middle::rty::expr::pretty"],[5979,"flux_middle::rty::fold"],[6021,"flux_middle::rty::normalize"],[6109,"flux_middle::rty::projections"],[6203,"flux_middle::rty::refining"],[6253,"flux_middle::rty::subst"],[6408,"flux_middle::rustc"],[6411,"flux_middle::rustc::lowering"],[6499,"flux_middle::rustc::lowering::errors"],[6579,"flux_middle::rustc::mir"],[7718,"flux_middle::rustc::mir::BorrowKind"],[7719,"flux_middle::rustc::mir::TerminatorKind"],[7744,"flux_middle::rustc::ty"],[9351,"flux_middle::rustc::ty::GenericParamDefKind"],[9353,"flux_middle::rustc::ty::subst"],[9355,"rustc_middle::ty::context"],[9356,"rustc_middle::ty"],[9357,"core::option"],[9358,"rustc_span::def_id"],[9359,"rustc_span::def_id"],[9360,"rustc_hir"],[9361,"core::iter::traits::collect"],[9362,"rustc_middle::arena"],[9363,"core::any"],[9364,"core::cmp"],[9365,"alloc::vec"],[9366,"core::ops::function"],[9367,"core::borrow"],[9368,"rustc_serialize::serialize"],[9369,"rustc_type_ir::codec"],[9370,"rustc_serialize::serialize"],[9371,"rustc_query_system::dep_graph"],[9372,"core::fmt"],[9373,"core::fmt"],[9374,"rustc_hir::hir_id"],[9375,"rustc_query_system::query::job"],[9376,"rustc_span"],[9377,"core::hash"],[9378,"rustc_data_structures::unord"],[9379,"rustc_errors::diagnostic"],[9380,"rustc_middle::middle::resolve_bound_vars"],[9381,"core::convert"],[9382,"rustc_span::span_encoding"],[9383,"rustc_query_system::dep_graph::dep_node"],[9384,"alloc::string"],[9385,"rustc_data_structures::fingerprint"],[9386,"rustc_hir::def"],[9387,"core::any"],[9388,"rustc_hir::hir"],[9389,"rustc_hir::hir"],[9390,"rustc_hir::hir"],[9391,"rustc_errors::diagnostic_builder"],[9392,"rustc_middle::hir::map"],[9393,"alloc::boxed"],[9394,"core::marker"],[9395,"core::cmp"],[9396,"alloc::sync"],[9397,"rustc_hash"],[9398,"core::hash"],[9399,"core::cmp"],[9400,"hashbrown::map"],[9401,"dashmap::lock"],[9402,"core::ops::control_flow"],[9403,"toml::value"],[9404,"rustc_hash"],[9405,"core::hash"],[9406,"core::iter::traits::collect"],[9407,"rustc_hash"],[9408,"rustc_middle::ty::generic_args"],[9409,"rustc_middle::ty::sty"],[9410,"rustc_type_ir::ty_kind"],[9411,"rustc_middle::ty::sty"],[9412,"rustc_middle::ty"],[9413,"rustc_middle::mir::syntax"],[9414,"rustc_middle::mir::syntax"],[9415,"rustc_middle::mir::syntax"],[9416,"rustc_middle::mir::syntax"],[9417,"rustc_middle::mir::syntax"],[9418,"rustc_middle::mir::syntax"],[9419,"rustc_middle::mir::terminator"],[9420,"rustc_middle::ty"],[9421,"rustc_borrowck::dataflow"],[9422,"rustc_data_structures::fx"],[9423,"rustc_data_structures::graph::dominators"],[9424,"rustc_middle::mir"],[9425,"rustc_borrowck::region_infer"]],"d":["Raw content of Fluent resource for this crate, generated …","","","","","","","","","","","","","","","Flux High-Level Intermediate Repesentation","","Global Arc-based object interning infrastructure.","","","Defines how flux represents refinement types internally. …","This module contains simplified versions of some …","","","","","","","","","","","","","","","","","Sort constructor application (e.g. Set<int> or …","","","","","An implicitly scoped parameter declared with @a syntax","These are types of things that may be refined with indices …","","A type that parses as a BaseTy but was written without …","","","","","","","","","","","An implicitly scoped parameter declared with x: T syntax","","","Constrained types {T | p} are like existentials but …","","","User-defined functions with a body definition","","","","","Generate a fresh evar for the parameter and solve it via …","","","A sort that couldn’t be generated because of an error.","","A parameter declared in an explicit scope","","","","A unique identifier for a node in the AST. Like HirId it …","","","An item without a corresponding Rust definition, e.g., a …","","","","Owner version of FluxLocalDefId","","","","","","","","","","","","","","","","","A global function symbol (including possibly theory …","","","A lifetime hole created during desugaring.","","","","","","Sort inference variable generated for a Sort::Wildcard …","Inference mode for parameter at function calls","","","","","An ItemLocalId uniquely identifies something within a …","","","Generate a fresh kvar and let fixpoint infer it. This mode …","","","Our surface syntax doesn’t have lifetimes. To deal with …","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","A map between rust definitions and flux annotations in …","","","","","","","","","","","","","","","","","","","","The sort associated to a type variable","How the declared parameter in the surface syntax. This is …","","","","","An implicitly scoped parameter declared with #a syntax","A predicate that needs to hold","Not represented directly in the AST; referred to by name …","","","","","","","","","","","A record sort corresponds to the sort associated with a …","","","","Information about the refinement parameters associated …","","A resolved lifetime created during lifting.","","An item with a corresponding Rust definition, e.g., …","","","","","","","","","","","A Sort vvariable id","","","","","","","","Theory symbols “interpreted” by the SMT solver: Symbol …","","","","","","","","A type constraint on a location","","","","User-defined uninterpreted functions with no definition","","","","","User defined opaque sort","sort variable","","A function coming from a refinement parameter.","","The source-order index of a variant in a type.","","","","","A sort that needs to be inferred","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example: vec![(x: StrRef(l))]","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The number of early bound parameters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","Creates a new index from a given usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a usize.","","","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","Index parameters indexed by their name and in the same …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","inputs and output in order","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the sort is Bool.","","","","Whether the sort is a function with return sort bool","","Returns true if the sort is Wildcard.","","","","","","","","","","","","“Lift” HIR types into FHIR types.","Whether the sig was lifted from a hir signature","Whether this alias was lifted from a hir alias","Whether this field was lifted from a hir field","Whether this variant was lifted from a hir variant","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example: vec![(n: Int), (l: Loc)]","","","","","","","","","","","","","","","","","","","","","","","","example: vec![(0 <= n), (l: i32)]","","","","","","","","","","","","Tracks the mapping from bound var to generic def ids. e.g. …","Sorts of both early bound and index parameters. Early …","","","","","","","","","","","","","","","","","","","","","","replace all “sort-vars” (indexed 0…n-1) with the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether this arg was used as a binder in the surface …","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","Returns the argument unchanged.","","HACK(nilehmann) do not use this function. See lift_self_ty.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","HACK(nilehmann) this is used during annot check to allow …","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An interned string.","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","For now all sort constructors have equality if all the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Whether values of this sort can be compared for equality.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","An expression is an atom if it is “self-delimiting”, …","","Simple syntactic check to see if the expression is a …","Whether the expression is literally the constant true.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Simplify the expression by removing double negations, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","Contains the success value","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lambda abstractions. They are purely syntactic and we don…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An anonymous region parameter for a given fn (&T)","Anonymous region for the implicit env pointer parameter to …","Named region parameters for functions (a in &’a T)","","","","","Represents the various closure traits in the language. This","","","","","","","","","","","","","","","This is a bit of a hack. We use this type internally to …","","","","","","","","","","","","","A hole used as a refinement argument or index. It will be …","","","","Equivalent to VariantIdx(0).","","","","","","","","","","","","","","","","","","","","","","","","","","","","A hole is an expression that must be inferred either …","The position where a hole appears. This determines how it …","","","","","","","","","","","","","","","","","","","","","In theory a kvar is just an unknown predicate that can use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Option-like enum to explicitly mark that we don’t have …","","","","","","","","","","","","","A hole in predicate position (e.g., the predicate in a …","","","","","","","","","","","","","","","","","","The raw bytes of a simple value.","","","","","","SortVar are used for polymorphic sorts (Set, Map etc.) and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The source-order index of a variant in a type.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The list of all arguments with the self arguments at the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The span for the (base) call-site for def-expanded spans","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate and collect all refinement parameters in this item …","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This modules folows the implementation of folding in …","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::int_max","See BigInt::int_min","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the sort is Bool.","Whether the type is a bool","","","","","","","","Whether the type is an int or a uint","","","Whether the sort is a function with return sort bool","","","","","","","See Expr::is_trivially_true","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Holds the refinement-arguments for opaque-types; empty for …","","","","Refining is the process of generating a refined version of …","","","","","","","","","","","The number of arguments consider to be self arguments.","This method work only with associated type projections …","","","","","","","","","","","","The top-level span information","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::uint_max","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An existential varriable is identified by a context and an …","","","","","Existential variable id","Maximum value the index can take.","Maximum value the index can take, as a u32.","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generates an evar guaranteed to be fresh in the provided …","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","","","","","","Extracts the value of this index as a usize.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Generates a context id guaranteed to be globally fresh. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lambda abstractions. They are purely syntactic and we don…","","","","","","","","","","","","","","","","A hole used as a refinement argument or index. It will be …","","","","","","","A hole is an expression that must be inferred either …","The position where a hole appears. This determines how it …","","","","","In theory a kvar is just an unknown predicate that can use …","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","","","","","","","","","","A hole in predicate position (e.g., the predicate in a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The list of all arguments with the self arguments at the …","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","The span for the (base) call-site for def-expanded spans","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a usize.","","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","An expression is an atom if it is “self-delimiting”, …","","Simple syntactic check to see if the expression is a …","Whether the expression is literally the constant true.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The number of arguments consider to be self arguments.","Simplify the expression by removing double negations, …","","","","The top-level span information","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set of all free variables. For example, …","","Normalize expressions by applying beta reductions for …","","Returns the set of all opaque type aliases def ids","","Replaces all holes with the result of calling a closure. …","","","","","","","","","","","","","","","","","","","Turns each TyKind::Indexed into a TyKind::Exists with a …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Returns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Substitution for late bound variables","","Substitution for existential variables","","Substitution for generics, i.e., early bound types, …","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","We leave this as None if we only want to substitute the …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A simplified version of rust mir.","A simplified version of rust types.","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Function argument.","","","","","","A node in the MIR control-flow graph.","","","","","","","","","","","","","","","","We only support opaque chars, so no data stored here for …","","Cleanups to be done.","","","","No action is to be taken. Continue unwinding.","","","","","","","","","","","","","Equivalent to VariantIdx(0).","","","","","","The source-order index of a field in a variant.","","","","","","","","","An Instance is the resolved call-target at a particular …","","","","","","","","","","Classifies locals into categories. See Body::local_kind.","Location represents the position of the start of the …","","","","","","","The - operator for negation","","The ! operator for logical inversion","General catch-all for constants of a given Ty","","","","","","","","","","","","","","","","Location of function’s return value.","","","","","","","Grouped information about the source code origin of a MIR …","","","We only support opaque string slices, so no data stored …","","","","User-declared variable binding or compiler-introduced …","Terminates the execution if unwind happens.","","","","","","","","","Triggers undefined behavior if unwind happens.","","Action to be taken when a stack unwind happens.","","","","The source-order index of a variant in a type.","","","Location where the borrow is activated.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Place to which the borrow was stored","","","The block that the location is within.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Place from which we are borrowing","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See mk_fake_predecessors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","During borrow checking, rustc generates fresh region …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","What kind of borrow this is","the “root” of the place, e.g. _1 in *_1.f.g.h","","","","","","","","","","","","","The FalseEdge/imaginary_target edges mess up the …","","","","","","","","","path taken to “get” the place e.g. *.f.g.h in *_1.f.g.h…","","","","","","","","","","","","","","The region for which this borrow is live","","Replicate the InferCtxt used for mir typeck by generating …","Location where the borrow reservation starts. In many …","see (NOTE:YIELD)","","The source scope, keeping track of which bindings can be …","","","","","The source span for the AST pertaining to this MIR entity.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Downcast to a particular variant of an enum or a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An anonymous region parameter for a given fn (&T)","Anonymous region for the implicit env pointer parameter to …","Named region parameters for functions (a in &’a T)","","","","","","","","","","","","A De Bruijn index is a standard means of representing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A region (lifetime) variable ID.","The raw bytes of a simple value.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This method work only with associated type projections …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,408,408,408,408,408,47,192,192,56,60,43,39,0,54,0,36,39,0,0,60,56,409,56,62,0,409,0,54,60,0,39,0,52,64,0,91,192,60,55,0,192,56,39,54,0,47,0,0,0,409,44,45,0,0,0,0,0,0,0,56,0,0,0,192,0,0,0,0,0,0,0,61,192,39,41,0,60,192,192,39,56,0,67,409,56,62,0,0,0,55,95,192,0,36,51,0,60,56,0,0,192,18,20,21,18,20,21,0,30,38,192,192,108,43,0,0,0,192,237,39,38,237,108,99,39,0,192,56,0,0,48,0,0,54,87,0,52,67,39,0,0,91,39,56,62,47,56,39,0,0,0,0,41,49,44,45,52,52,30,43,48,0,0,0,0,0,36,409,0,0,192,0,62,64,95,0,99,39,0,0,0,87,36,51,0,64,409,0,60,56,30,56,60,61,0,0,0,0,0,0,56,18,20,21,22,25,38,38,41,41,43,43,44,44,45,45,46,46,18,18,409,409,52,52,54,54,55,55,20,20,62,62,63,63,21,21,64,64,38,38,41,41,43,43,44,44,45,45,46,46,18,18,409,409,52,52,54,54,55,55,20,20,62,62,63,63,21,21,64,64,83,90,33,76,30,43,44,45,46,18,409,52,55,20,30,56,57,58,21,64,32,34,18,20,21,18,20,21,18,20,21,120,410,33,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,96,94,94,97,103,411,36,37,38,32,39,40,41,42,43,44,45,46,18,47,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,64,36,37,38,32,39,40,41,42,43,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,64,43,18,20,21,66,66,66,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,43,43,18,18,20,20,21,21,22,22,22,70,69,18,55,20,30,56,57,58,21,13,64,89,37,100,102,13,22,56,22,22,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,52,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,13,25,13,18,55,20,30,56,57,58,21,13,64,86,22,22,43,44,45,46,18,52,55,20,30,56,57,58,21,64,43,44,45,46,18,409,52,55,20,30,56,57,58,21,64,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,18,18,18,18,18,409,409,409,409,409,52,52,52,52,52,55,55,55,55,55,20,20,20,20,20,30,30,30,30,30,56,56,56,56,56,57,57,57,57,57,58,58,58,58,58,21,21,21,21,21,64,64,64,64,64,51,90,76,22,61,53,59,13,13,102,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,409,22,83,86,87,88,89,36,37,90,91,92,93,94,95,96,38,97,25,98,99,100,101,102,103,104,32,41,42,67,69,44,45,46,18,47,34,49,33,50,51,52,53,54,55,20,30,30,56,56,57,57,58,58,59,61,62,63,21,13,106,64,76,22,22,104,22,22,18,20,21,83,83,86,86,87,87,66,66,70,70,88,88,89,89,36,36,37,37,90,90,91,91,92,92,93,93,94,94,95,95,96,96,38,38,97,97,22,22,25,25,98,98,99,99,100,100,101,101,102,102,103,103,104,104,32,32,39,39,40,40,41,41,42,42,43,43,43,67,67,69,69,44,44,44,44,45,45,45,46,46,18,18,18,18,47,47,409,409,34,34,34,48,48,49,49,33,33,50,50,51,51,52,52,53,53,54,54,55,55,20,20,20,20,30,30,56,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,21,21,21,21,13,13,106,106,64,64,76,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,20,18,20,21,18,20,21,18,20,21,58,22,22,22,22,69,22,22,22,22,22,22,22,22,88,22,22,22,90,43,44,45,46,18,55,20,30,56,57,58,21,64,50,53,103,412,18,18,20,20,20,21,21,25,13,13,53,54,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,413,57,57,70,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,58,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,32,33,56,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,98,101,13,34,56,54,56,98,56,22,56,89,98,32,34,53,59,106,411,66,66,66,0,83,25,100,102,46,56,412,40,53,113,90,92,63,106,76,66,22,18,20,57,58,63,21,13,66,66,66,22,104,57,83,66,70,69,46,25,98,101,83,86,88,98,101,102,58,76,43,18,20,21,93,22,104,177,18,20,21,22,409,33,22,22,83,33,86,102,56,58,53,106,76,22,22,22,13,13,63,49,63,83,113,92,94,25,102,32,42,34,33,59,13,18,20,21,55,22,22,56,63,37,20,50,409,409,36,37,38,32,39,40,41,42,43,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,64,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,30,56,57,58,96,96,13,22,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,25,100,40,22,22,66,66,66,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,56,37,42,101,0,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,409,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,88,414,415,415,416,416,417,418,419,0,126,126,126,126,126,126,126,126,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,0,126,126,126,126,126,126,0,126,126,126,126,126,126,126,126,126,126,126,0,0,126,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,0,0,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,420,420,72,72,420,420,72,72,420,72,153,420,72,153,420,72,153,420,72,153,420,72,72,72,153,153,153,153,153,153,420,72,153,420,72,153,420,72,153,420,72,420,420,420,420,420,72,72,72,72,72,153,153,153,420,72,420,72,153,153,153,420,420,72,72,153,420,72,153,153,153,153,153,153,153,153,420,72,153,153,153,420,72,153,420,72,153,153,420,72,153,153,153,153,153,420,72,153,153,153,153,153,420,153,153,153,153,153,420,72,153,153,153,153,153,153,153,153,153,153,420,153,420,72,420,72,420,72,153,420,72,153,420,72,420,72,153,420,72,153,420,72,153,420,72,153,153,153,153,153,420,72,0,0,0,0,0,0,0,185,185,185,185,185,158,185,185,185,185,185,185,185,185,185,185,185,185,121,185,121,185,185,185,185,185,158,185,121,185,185,185,185,185,185,185,185,185,185,185,121,185,121,185,185,185,185,121,185,185,185,158,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,121,185,185,185,185,158,185,185,185,185,185,121,121,185,158,185,185,121,158,185,158,185,158,185,185,185,121,185,185,185,421,185,185,0,0,185,185,185,121,185,185,185,185,121,185,185,121,185,185,185,185,185,185,185,185,185,185,185,185,158,185,185,121,422,185,185,185,185,185,185,121,185,185,185,185,185,185,185,158,185,185,185,422,185,421,421,185,185,158,185,189,423,185,158,185,185,185,185,121,185,121,185,158,185,185,158,185,121,185,121,185,185,185,185,185,185,121,185,185,185,185,185,185,185,185,185,185,158,185,121,185,242,0,242,0,0,0,0,0,242,0,242,242,242,242,202,202,243,244,245,242,202,243,244,245,242,242,242,202,243,244,245,242,243,243,0,202,203,0,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,203,243,244,244,245,0,202,202,243,243,244,244,245,245,242,242,202,243,244,245,242,424,242,202,202,202,202,202,202,202,202,202,0,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,244,0,202,202,202,243,244,245,0,245,0,202,244,0,202,202,202,202,202,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,245,202,243,244,245,242,0,0,0,248,154,154,0,0,0,0,248,247,173,247,173,248,247,425,173,248,247,247,173,247,248,248,173,248,247,173,247,247,173,247,173,248,247,173,248,247,173,248,247,0,173,248,247,248,247,173,247,173,173,248,248,248,247,247,173,248,247,247,173,247,247,173,247,173,248,247,173,248,247,248,173,248,247,247,173,247,247,247,247,247,247,247,247,247,247,173,247,247,247,173,247,0,248,173,248,247,173,248,247,173,248,247,173,248,247,173,248,247,247,173,247,248,425,247,173,247,173,248,247,426,426,426,215,192,199,0,0,0,275,0,0,192,215,197,199,0,261,163,0,215,0,197,275,6,197,199,0,0,0,0,0,224,406,406,406,199,0,0,199,0,0,0,261,163,215,0,215,275,0,0,199,199,0,0,275,192,275,0,0,233,0,0,233,0,192,275,0,212,0,201,201,0,199,0,0,322,322,322,0,0,262,0,233,0,197,0,0,192,0,262,0,0,0,0,0,0,0,215,192,215,0,214,214,214,214,214,0,0,215,192,192,0,275,0,6,197,199,0,0,0,214,0,215,0,233,192,259,261,163,0,197,215,231,192,256,192,192,108,224,0,0,192,237,199,237,108,6,17,181,0,0,192,197,275,199,0,0,215,0,0,0,0,0,212,274,262,181,0,275,0,0,199,6,197,199,0,232,0,0,0,232,0,256,224,199,0,0,0,261,199,192,262,0,0,17,215,197,259,199,215,0,0,163,0,0,261,274,236,236,236,236,236,0,199,0,0,0,215,275,256,236,0,215,231,197,0,0,6,199,272,170,192,192,237,237,6,6,256,256,224,224,181,181,405,405,322,322,192,192,237,237,6,6,256,256,224,224,181,181,405,405,322,322,6,197,179,178,285,170,220,175,257,188,216,264,267,272,257,182,170,192,237,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,405,322,238,17,12,175,259,17,180,12,300,183,405,170,251,170,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,0,170,192,237,6,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,192,237,6,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,405,322,170,159,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,405,405,322,322,170,2,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,161,264,267,182,309,257,238,197,157,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,10,170,170,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,273,192,237,6,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,192,237,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,405,322,192,192,192,192,192,237,237,237,237,237,6,6,6,6,6,260,260,260,260,260,161,161,161,161,161,261,261,261,261,261,164,164,164,164,164,262,262,262,262,262,263,263,263,263,263,264,264,264,264,264,265,265,265,265,265,266,266,266,266,266,267,267,267,267,267,256,256,256,256,256,268,268,268,268,268,197,197,197,197,197,269,269,269,269,269,270,270,270,270,270,10,10,10,10,10,277,277,277,277,277,271,271,271,271,271,272,272,272,272,272,232,232,232,232,232,180,180,180,180,180,259,259,259,259,259,274,274,274,274,274,238,238,238,238,238,275,275,275,275,275,224,224,224,224,224,213,213,213,213,213,199,199,199,199,199,182,182,182,182,182,181,181,181,181,181,163,163,163,163,163,405,405,405,405,405,322,322,322,322,322,0,170,170,17,238,238,197,259,232,238,163,0,303,213,272,272,175,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,405,322,197,170,192,192,192,237,237,237,6,6,11,159,260,161,261,172,164,262,262,263,264,265,266,267,256,268,197,197,269,269,270,270,10,277,17,271,272,272,232,232,180,180,180,180,12,259,257,257,273,274,274,251,249,280,238,238,275,224,224,213,213,199,199,182,181,181,163,163,0,192,192,237,237,6,6,6,6,6,6,6,303,303,188,188,159,159,260,260,161,161,261,261,172,172,164,164,262,262,263,263,264,264,265,265,266,266,267,267,256,256,268,268,268,197,197,269,269,270,270,10,10,277,277,17,17,271,271,272,272,232,232,180,180,12,12,259,259,257,257,273,273,274,274,251,251,249,249,280,280,238,238,275,275,224,224,213,213,213,213,213,199,199,182,182,181,181,163,163,405,405,322,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,163,224,270,6,170,251,6,192,237,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,175,272,6,6,161,268,221,309,170,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,269,269,12,12,12,12,170,0,6,6,275,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,180,199,10,199,277,238,199,213,197,238,199,10,238,199,238,199,10,238,199,10,197,238,199,10,238,199,322,180,238,199,238,197,163,275,164,238,161,164,266,249,238,216,225,322,17,180,12,170,170,260,303,161,251,249,221,309,6,170,188,164,269,270,10,272,180,257,273,182,0,280,280,17,170,277,6,269,257,266,267,257,170,159,270,159,270,159,172,159,159,271,12,172,0,177,294,207,427,170,225,265,0,170,180,405,322,182,159,159,159,0,180,180,180,180,257,257,188,272,273,277,216,182,266,2,180,12,270,199,10,199,260,277,249,183,188,259,15,170,260,161,164,197,277,271,232,259,274,238,163,170,0,170,180,199,265,266,267,405,322,405,322,192,237,6,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,405,322,12,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,192,237,6,322,263,17,170,164,262,263,264,265,266,267,197,17,271,272,232,180,257,273,274,251,213,199,182,163,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,180,12,170,197,180,199,170,197,266,188,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,170,0,6,170,170,170,170,197,259,213,170,15,11,14,180,10,10,180,15,11,14,180,170,164,262,263,264,265,266,267,197,17,271,272,232,180,257,273,274,251,213,199,182,163,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,405,322,197,251,180,180,428,429,430,0,0,0,0,0,0,288,288,0,293,293,0,288,198,198,288,288,289,289,198,198,288,288,289,289,198,288,289,288,288,288,291,290,198,292,293,288,289,291,290,198,292,293,288,289,198,288,289,198,288,289,198,288,289,291,290,198,292,293,288,289,198,198,288,288,289,289,198,198,198,288,289,290,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,198,288,289,198,288,289,198,288,289,198,198,198,198,198,288,288,288,288,288,289,289,289,289,289,292,291,290,291,290,198,292,293,288,289,291,291,290,198,198,292,293,288,289,288,290,291,291,290,290,198,198,292,292,293,293,288,288,288,288,289,289,291,290,198,292,293,288,289,288,288,288,291,198,288,289,198,288,288,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,288,290,198,288,289,0,288,290,288,198,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,290,291,290,198,292,293,288,289,215,192,192,215,0,215,6,215,0,215,192,0,233,233,192,0,212,0,0,233,192,215,192,215,0,215,192,192,6,0,215,0,233,192,0,215,231,192,294,207,294,207,192,192,0,192,237,237,192,0,215,212,6,0,192,215,215,0,215,0,215,231,179,179,179,294,207,183,183,295,295,233,233,294,294,207,207,183,183,295,295,233,233,294,294,207,207,179,179,179,216,191,183,295,215,212,216,233,225,231,294,207,179,294,207,294,207,179,294,207,183,183,179,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,233,233,225,225,231,231,294,294,207,207,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,191,191,191,191,191,183,183,183,183,183,295,295,295,295,295,215,215,215,215,215,212,212,212,212,212,216,216,216,216,216,233,233,233,233,233,225,225,225,225,225,231,231,231,231,231,294,294,294,294,294,207,207,207,207,207,191,179,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,179,179,183,295,212,216,216,233,233,225,225,231,231,294,207,179,294,207,179,179,179,179,191,191,183,183,295,295,215,215,212,212,216,216,233,233,225,225,225,231,231,231,231,294,294,294,294,207,207,207,207,179,191,183,295,215,212,216,233,225,231,294,207,225,294,207,294,207,294,207,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,295,179,0,179,294,294,207,207,191,183,295,215,212,216,233,225,231,294,207,179,179,215,215,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,179,179,179,179,179,179,191,179,216,179,179,295,225,179,179,179,179,179,179,183,295,216,225,294,207,179,179,179,179,233,225,231,294,207,179,0,294,207,225,225,216,216,216,179,179,183,295,183,294,207,179,191,216,179,179,179,233,225,231,179,225,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,212,216,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,179,179,179,179,179,212,216,233,191,183,295,215,212,216,233,225,231,294,207,183,179,296,296,296,296,296,296,296,0,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,0,296,296,296,296,296,296,241,235,0,0,0,0,0,0,0,297,297,297,297,297,297,234,240,240,234,234,240,234,234,234,234,431,432,235,235,235,235,235,235,234,431,241,241,241,241,241,240,234,0,0,0,301,301,301,302,157,301,302,157,301,302,157,157,157,157,301,301,302,157,301,302,157,301,302,157,302,301,302,157,301,302,301,301,302,302,157,157,301,302,157,157,301,302,157,301,302,157,301,302,157,301,302,157,157,157,301,302,157,301,302,157,301,302,301,302,301,302,301,302,301,302,301,302,301,302,157,301,302,157,301,301,302,157,301,302,157,0,0,305,0,305,305,306,304,304,0,304,304,305,306,304,305,306,304,305,306,304,304,304,305,306,304,305,306,304,305,306,304,305,306,305,306,304,304,305,305,306,306,304,305,306,304,306,306,306,304,305,306,306,306,304,305,306,304,305,306,0,0,0,0,0,0,0,0,306,304,304,304,304,304,304,304,305,306,304,305,306,304,304,305,306,304,305,306,304,305,306,304,305,306,0,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,0,317,317,0,317,317,317,317,0,317,317,317,317,317,317,317,317,317,317,317,317,0,0,0,0,0,0,326,328,331,330,327,326,328,331,330,327,326,327,328,331,330,327,326,328,327,328,328,331,330,327,326,328,331,330,327,326,328,331,330,327,326,330,327,331,328,331,330,327,326,326,328,327,328,330,327,328,327,327,327,328,328,331,331,330,330,327,327,326,326,328,331,330,327,326,327,326,326,326,328,331,330,327,326,328,331,330,327,326,328,331,330,327,326,326,328,330,327,326,327,327,331,329,331,329,331,327,328,331,330,327,326,328,331,330,327,326,328,330,327,328,330,327,328,330,327,328,330,327,328,330,327,328,330,327,328,331,330,327,326,328,331,330,327,326,327,328,331,330,327,326,328,331,330,327,326,0,0,0,0,0,333,255,333,255,255,255,333,255,333,255,333,255,255,333,255,0,333,255,255,333,333,255,255,333,255,333,255,333,255,255,333,255,0,333,0,333,333,333,0,333,0,0,333,0,0,333,333,0,0,0,0,0,0,0,0,333,333,333,0,333,0,333,333,333,0,0,255,333,333,333,333,333,333,255,333,255,333,255,333,255,333,255,333,255,333,255,0,0,0,0,0,0,377,376,378,377,376,378,377,376,378,377,376,378,377,376,378,377,376,378,377,376,378,377,377,376,376,376,376,378,378,377,376,378,377,376,378,377,376,378,377,376,378,377,376,378,376,377,376,378,376,378,377,376,378,376,376,377,376,378,377,376,378,377,376,378,377,376,378,377,377,376,378,377,376,378,341,335,368,0,393,335,391,390,0,391,0,0,0,368,341,341,176,0,4,0,0,337,390,0,368,0,4,368,433,335,0,363,433,176,363,335,390,176,380,368,341,337,380,390,341,0,391,0,390,390,380,0,4,347,352,352,341,390,341,380,0,4,347,347,176,341,368,0,0,0,0,0,341,363,341,344,366,341,434,391,434,4,0,337,0,0,391,0,347,0,347,195,0,368,341,337,390,393,0,0,391,344,341,341,0,0,0,4,341,390,0,393,433,0,0,335,4,0,368,4,390,433,366,0,390,368,0,0,390,381,383,176,176,223,223,177,177,347,347,366,366,341,341,380,380,433,433,434,434,435,435,218,218,393,393,386,386,384,384,176,176,223,223,177,177,347,347,366,366,341,341,380,380,433,433,434,434,435,435,218,218,393,393,386,386,384,384,389,169,176,223,177,341,195,380,436,433,434,435,218,393,386,384,380,383,169,195,384,169,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,169,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,383,169,360,347,366,341,195,380,176,223,177,383,360,347,366,341,195,380,436,433,434,435,218,393,386,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,223,223,177,177,434,434,218,218,386,386,384,384,195,380,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,169,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,195,380,341,195,380,176,223,177,341,195,380,436,433,434,435,218,393,386,384,176,176,176,176,176,223,223,223,223,223,177,177,177,177,177,341,341,341,341,341,195,195,195,195,195,380,380,380,380,380,433,433,433,433,433,434,434,434,434,434,435,435,435,435,435,218,218,218,218,218,393,393,393,393,393,386,386,386,386,386,384,384,384,384,384,169,388,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,176,223,177,436,433,434,435,218,393,386,384,223,169,372,370,368,363,4,352,339,375,389,390,337,391,347,366,335,341,195,388,380,176,176,223,223,169,169,372,372,370,370,368,368,177,177,344,344,363,363,4,4,352,352,383,383,339,339,360,360,375,375,389,389,390,390,337,337,391,391,347,347,366,366,335,335,341,341,195,195,388,388,380,380,436,436,433,433,434,434,435,435,218,218,393,393,386,386,384,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,388,341,195,380,389,169,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,169,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,339,169,370,372,176,223,177,436,433,434,435,218,386,372,370,383,195,169,169,375,176,223,177,436,433,434,435,218,386,0,169,195,0,375,223,177,218,386,195,388,381,176,223,177,436,433,434,435,218,393,386,384,383,169,0,383,169,169,435,372,370,360,169,435,384,339,223,436,339,169,176,223,177,436,433,434,435,218,393,386,384,176,223,177,436,433,434,435,218,393,386,384,176,223,177,383,360,347,366,341,195,380,436,433,434,435,218,393,386,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,383,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,195,360,388,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,436,388,169,176,223,169,372,370,368,177,344,363,4,352,383,339,360,375,389,390,337,391,347,366,335,341,195,388,380,436,433,434,435,218,393,386,384,437,438,439,438,440,441,439,438,438,442,439,443,442,444,438,441,441,438,445,443,439,440,438,443,444,441,404,0,0,404,0,0,404,0,404,0,0,0,0,406,406,406,404,0,0,404,0,0,0,399,162,404,404,0,0,0,201,201,0,404,0,404,0,0,0,0,0,0,0,0,0,0,214,214,214,214,214,404,0,214,399,162,108,0,404,108,318,404,184,0,0,400,318,0,404,219,219,219,219,219,404,0,167,0,0,404,404,400,0,0,404,0,162,0,0,399,236,236,236,236,236,404,0,236,184,0,0,108,108,214,214,236,236,201,201,217,217,167,167,318,318,219,219,397,397,312,312,2,2,406,406,221,221,309,309,446,446,427,427,108,108,214,214,236,236,201,201,217,217,167,167,318,318,219,219,397,397,312,312,2,2,406,406,221,221,309,309,446,446,427,427,174,187,186,323,319,108,214,236,201,217,320,167,357,399,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,219,397,312,2,406,221,309,446,427,174,174,320,320,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,397,166,320,167,396,168,284,318,282,184,219,397,312,108,214,236,201,217,166,320,167,396,168,284,318,282,184,219,397,312,2,406,221,309,446,427,407,407,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,108,214,214,236,236,201,201,217,217,2,2,406,406,221,221,309,309,446,446,427,427,2,167,284,398,286,354,282,184,219,397,312,357,323,286,319,309,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,284,398,354,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,167,284,398,286,354,282,184,219,397,312,320,167,357,399,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,219,397,312,108,214,236,201,217,320,167,357,399,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,219,397,312,2,406,221,309,446,427,108,108,108,108,108,214,214,214,214,214,236,236,236,236,236,201,201,201,201,201,217,217,217,217,217,320,320,320,320,320,167,167,167,167,167,357,357,357,357,357,399,399,399,399,399,321,321,321,321,321,400,400,400,400,400,401,401,401,401,401,323,323,323,323,323,402,402,402,402,402,396,396,396,396,396,168,168,168,168,168,284,284,284,284,284,398,398,398,398,398,286,286,286,286,286,354,354,354,354,354,403,403,403,403,403,404,404,404,404,404,319,319,319,319,319,318,318,318,318,318,282,282,282,282,282,184,184,184,184,184,162,162,162,162,162,219,219,219,219,219,397,397,397,397,397,312,312,312,312,312,2,2,2,2,2,406,406,406,406,406,221,221,221,221,221,309,309,309,309,309,446,446,446,446,446,427,427,427,427,427,168,162,162,162,286,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,214,236,201,217,2,406,221,309,446,427,284,398,217,320,167,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,184,162,283,219,219,312,406,108,108,214,214,236,236,201,201,217,217,325,325,187,187,186,186,407,407,166,166,320,320,167,167,357,357,399,399,324,324,321,321,400,400,401,401,323,323,402,402,396,396,168,168,284,284,398,398,286,286,354,354,403,403,404,404,319,319,318,318,282,282,184,184,184,162,162,283,283,219,219,397,397,312,312,2,2,406,406,221,221,309,309,446,446,427,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,320,167,357,399,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,219,397,312,357,221,309,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,396,396,166,404,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,168,284,284,168,284,108,201,217,406,221,446,427,284,168,357,321,403,312,108,201,217,406,221,446,427,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,357,286,354,221,309,321,284,398,284,325,396,325,325,324,407,283,325,324,217,446,427,402,108,214,236,201,217,2,406,221,309,446,427,0,283,283,397,323,319,2,166,320,187,186,167,357,321,168,398,403,162,0,166,320,396,168,184,162,219,402,108,214,236,201,217,2,406,221,309,446,427,108,214,236,201,217,2,406,221,309,446,427,108,214,236,201,217,166,320,167,396,168,284,318,282,184,219,397,312,2,406,221,309,446,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,2,221,401,219,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,168,187,186,407,283,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,187,186,282,312,284,284,398,320,219,108,214,236,201,217,325,187,186,407,166,320,167,357,399,324,321,400,401,323,402,396,168,284,398,286,354,403,404,319,318,282,184,162,283,219,397,312,2,406,221,309,446,427,283,283,447,448,0,230],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2,3],[[5,[4]]]],[[1,2,3],[[5,[6]]]],[[1,2,3],[[5,[7]]]],[[1,2,3],[[5,[8]]]],[[1,2,3],[[5,[7]]]],0,0,[[-1,9],[[5,[10]]],[]],[[-1,9],[[5,[[12,[11]]]]],[]],[[-1,9],[[5,[13]]],[]],[[-1,9],[[5,[[12,[14]]]]],[]],[[-1,9],[[5,[[17,[[12,[[16,[15]]]]]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[18,19],18],[[20,19],20],[[21,19],21],[[22,23],24],[25,[[0,[26]]]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],0,0,0,0,[30,19],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[32,[[5,[33]]]],[34,[[5,[33]]]],[18,35],[20,35],[21,35],[18,19],[20,19],[21,19],[[18,19],[[5,[18]]]],[[20,19],[[5,[20]]]],[[21,19],[[5,[21]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[36,36],[37,37],[38,38],[32,32],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[18,18],[47,47],[34,34],[48,48],[49,49],[33,33],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[20,20],[30,30],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[21,21],[13,13],[64,64],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[43,43],65],[[18,18],65],[[20,20],65],[[21,21],65],[66,[[69,[[68,[67]]]]]],0,[66,[[70,[[68,[67]]]]]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[22,-1],[[5,[37]]],[[73,[72]]]],[22,[[0,[26]]]],0,0,0,[-1,18,74],[-1,55,74],[-1,20,74],[-1,30,75],[-1,56,75],[-1,57,75],[-1,58,75],[-1,21,74],[-1,13,75],[-1,64,75],0,0,0,0,0,[[],22],[56,55],[[22,-1],[[5,[76]]],[[73,[72]]]],[22,[[0,[26]]]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[52,77],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],0,0,[[13,[16,[56]]],[[68,[56]]]],[[18,-1],24,78],[[55,-1],24,78],[[20,-1],24,78],[[30,-1],24,79],[[56,-1],24,79],[[57,-1],24,79],[[58,-1],24,79],[[21,-1],24,78],[[13,-1],24,79],[[64,-1],24,79],0,[22,[[0,[26]]]],0,[[43,43],80],[[44,44],80],[[45,45],80],[[46,46],80],[[18,18],80],[[52,52],80],[[55,55],80],[[20,20],80],[[30,30],80],[[56,56],80],[[57,57],80],[[58,58],80],[[21,21],80],[[64,64],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[51,32],0,0,0,[61,46],0,0,[[13,72],[[5,[19]]]],[[13,72,[16,[56]]],[[5,[56]]]],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],0,[[83,84],85],[[86,84],85],[[87,84],85],[[88,84],85],[[89,84],85],[[36,84],85],[[37,84],85],[[90,84],85],[[91,84],85],[[92,84],85],[[93,84],85],[[94,84],85],[[95,84],85],[[96,84],85],[[38,84],85],[[97,84],85],[[25,84],85],[[98,84],85],[[99,84],85],[[100,84],85],[[101,84],85],[[102,84],85],[[103,84],85],[[104,84],85],[[32,84],85],[[41,84],85],[[42,84],85],[[67,84],85],[[[69,[-1]],84],85,105],[[44,84],85],[[45,84],85],[[46,84],85],[[18,84],85],[[47,84],85],[[34,84],85],[[49,84],85],[[33,84],85],[[50,84],85],[[51,84],85],[[52,84],85],[[53,84],85],[[54,84],85],[[55,84],85],[[20,84],85],[[30,84],85],[[30,84],85],[[56,84],85],[[56,84],85],[[57,84],85],[[57,84],85],[[58,84],85],[[58,84],85],[[59,84],85],[[61,84],85],[[62,84],85],[[63,84],85],[[21,84],85],[[13,84],85],[[106,84],85],[[64,84],85],[[76,84],85],[22,[[0,[26]]]],0,0,[22,[[0,[26]]]],0,[[18,19],[[5,[18]]]],[[20,19],[[5,[20]]]],[[21,19],[[5,[21]]]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[108,43],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[23,44],[-1,-1,[]],[[[107,[-1]]],-1,[]],[45,44],[-1,-1,[]],[109,45],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[19,18],[35,18],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[49,34],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[19,20],[-1,-1,[]],[[[107,[-1]]],-1,[]],[35,20],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[58,56],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[19,21],[[[107,[-1]]],-1,[]],[35,21],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[35,20],[35,18],[35,20],[35,21],[35,18],[35,20],[35,21],[19,18],[19,20],[19,21],0,[[22,-1],[[5,[106]]],[[73,[72]]]],[22,[[0,[26]]]],0,0,[[[69,[-1]],46],[[5,[-1]]],[]],[[22,-1],101,[[73,[23]]]],[[22,9],[[5,[23]]]],[[22,-1],[[5,[91]]],[[73,[72]]]],[[22,23],[[0,[26]]]],[[22,23],83],[[22,23],[[5,[93]]]],[[22,23],[[5,[88]]]],[[22,23],[[5,[97]]]],[[88,23],89],[[22,1,23],[[5,[[16,[53]]]]]],[[22,-1],98,[[73,[23]]]],[[22,-1],25,[[73,[23]]]],0,[[43,-1],24,112],[[44,-1],24,112],[[45,-1],24,112],[[46,-1],24,112],[[18,-1],24,112],[[55,-1],24,112],[[20,-1],24,112],[[30,-1],24,112],[[56,-1],24,112],[[57,-1],24,112],[[58,-1],24,112],[[21,-1],24,112],[[64,-1],24,112],0,0,0,0,[18,19],[18,19],[20,35],[20,19],[20,19],[21,19],[21,19],0,0,[[13,[16,[56]]],[[68,[56]]]],[53,55],[[54,56],55],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],0,[57,[[16,[56]]]],0,[[[70,[-1]],46,-1],24,[]],[[22,37],24],[[22,72,76],24],[[22,23,101],24],[[22,9,23],24],[[22,23,[68,[113]]],24],[[22,23,83],24],[[22,72,106],24],[[22,23,93],24],[[22,23,88],24],[[22,[114,[23,97]]],24],[[22,90],24],[[22,23,13],24],[[22,92],24],[[22,23,98],24],[[22,72,72,19,[68,[56]],56],24],[22,24],[[22,23,25],24],[[58,[16,[56]]],57],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[32,115],[33,115],[56,115],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[13,9],80],[34,80],[56,80],[54,80],[56,80],[98,80],[56,80],[[22,23],80],[56,80],0,0,0,0,0,0,0,0,[66,[[69,[116]]]],0,[66,[[70,[116]]]],0,0,0,0,0,0,[[56,56],56],0,0,[53,21],0,0,0,0,0,0,[-1,66,[[117,[45]]]],[[],22],[19,18],[19,20],[[[68,[56]],56],57],[[19,[68,[56]],56],58],[[21,113],63],[19,21],[[-1,-2,-3,[68,[9]],118],13,[[117,[9]]],28,28],[66,[[69,[56]]]],0,[66,[[70,[56]]]],0,0,[57,56],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[43,43],[[5,[65]]]],[[18,18],[[5,[65]]]],[[20,20],[[5,[65]]]],[[21,21],[[5,[65]]]],0,0,0,0,0,0,0,[22,[[0,[26]]]],[[-1,119],[[5,[-2]]],[],[]],0,[[22,23],13],0,0,0,0,0,[56,56],[58,57],0,0,0,[[22,-1],[[5,[92]]],[[73,[72]]]],[22,120],0,0,0,0,[49,118],[63,118],0,0,0,0,0,0,0,0,0,0,0,0,[[18,18],[[5,[19]]]],[[20,20],[[5,[19]]]],[[21,21],[[5,[19]]]],[[],[[121,[[16,[55]]]]]],[22,[[0,[26]]]],0,[[56,[16,[56]]],56],[63,72],0,[[],77],0,[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],[96,9],0,[[-1,118],13,[[117,[9]]]],0,[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[124,[[107,[52]]]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],0,0,0,[22,[[0,[26]]]],0,[66,[[69,[32]]]],0,[66,[[70,[32]]]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[-1,-1],[[107,[-1]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[88,13],88],0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[19,-1,[]],[19,-1,[]],[19,24],[[126,-1],[[107,[-2,111]]],127,[]],[[126,77],[[107,[-1,111]]],[]],0,[[-1,77],[[81,[-2]]],[],[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[126,128],[[107,[[68,[51]],111]]]],[[],19],[[126,23,97],24],[-1,-2,[],[]],[-1,-2,[],[]],[[126,129],[[107,[42,111]]]],[[126,130],[[107,[102,111]]]],[[126,23],[[107,[102,111]]]],[[126,131],[[107,[100,111]]]],[[126,23],[[107,[100,111]]]],[[1,132,109],[[107,[[24,[88,104]],111]]]],[[126,133],[[107,[32,111]]]],[[126,134],[[107,[83,111]]]],[[126,[16,[135]]],[[107,[[68,[51]],111]]]],[[126,136],[[107,[95,111]]]],[[126,137],[[107,[89,111]]]],[[126,128],[[107,[93,111]]]],[[1,132,109],[[107,[88,111]]]],[126,[[107,[88,111]]]],[[126,128],[[107,[88,111]]]],[126,[[107,[[24,[88,93]],111]]]],[[126,138],[[107,[41,111]]]],[[126,139],[[107,[40,111]]]],[[126,140],[[107,[97,111]]]],[[126,141],[[107,[33,111]]]],[[126,[5,[142]],141],[[107,[32,111]]]],[[126,143],[[107,[96,111]]]],[126,[[107,[93,111]]]],[[126,144],[[107,[32,111]]]],[[1,109],13],[[1,132,109],[[107,[[5,[32]],111]]]],[[126,142],[[107,[32,111]]]],[[1,132,109],[[107,[[24,[88,93,25]],111]]]],[[126,[16,[145]]],[[107,[[68,[50]],111]]]],[126,103],[[126,146,128],103],[[126,147],[[107,[94,111]]]],[[1,132,109,[5,[[114,[23,97]]]]],126],0,0,0,0,[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],[[126,109],126],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],0,[19,-1,[]],[19,-1,[]],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[-1,-2,[],[]],[[148,149],[[150,[-1]]],151],[-1,-2,[],[]],[[1,-1,77],148,[[117,[9]]]],0,0,[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],0,[[-1,34],24,[]],[[-1,87],24,[]],[[-1,101],24,[]],[[-1,59],24,[]],[[-1,100],24,[]],[[-1,86],24,[]],[[-1,83],24,[]],[[-1,57],24,[]],[[-1,51],24,[]],[[-1,63],24,[]],[[-1,41],24,[]],[[-1,62],24,[]],[[-1,58],24,[]],[[-1,49],24,[]],[[-1,47],24,[]],[[-1,53],24,[]],[[-1,56],24,[]],[[-1,98],24,[]],[[-1,32],24,[]],[[-1,50],24,[]],[[-1,102],24,[]],[[-1,103],24,[]],[[-1,34],24,152],[[-1,87],24,152],[[-1,101],24,152],[[-1,59],24,152],[[-1,100],24,152],[[-1,86],24,152],[[-1,83],24,152],[[-1,57],24,152],[[-1,51],24,152],[[-1,58],24,152],[[-1,49],24,152],[[-1,47],24,152],[[-1,53],24,152],[[-1,56],24,152],[[-1,98],24,152],[[-1,32],24,152],[[-1,50],24,152],[[-1,102],24,152],[[-1,103],24,152],0,0,0,[[153,-1],[[154,[10]]],[[117,[9]]]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[153,-1],[[154,[[155,[66]]]]],[[117,[44]]]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[153,-1],[[5,[37]]],[[73,[72]]]],[153,156],0,[[153,30,[16,[56]]],80],[153,[[154,[157]]]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[[153,9,[16,[56]]],[[68,[56]]]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[153,9,72],[[5,[19]]]],[[153,9,[158,[56]],72],[[5,[56]]]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[[153,-1],[[154,[[12,[11]]]]],[[117,[9]]]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[153,-1],[[5,[106]]],[[73,[72]]]],[153,[[0,[26]]]],[[153,-1],[[154,[159]]],[[117,[9]]]],[[153,23],89],[[153,56],80],[153,160],[[153,-1,[16,[56]]],[[68,[56]]],[[117,[9]]]],[[],19],[[],19],[[],19],[[153,159,161,162],[[154,[163]]]],[[153,159,161,162],[[154,[163]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[153,52],80],[[153,9],80],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[153,9],[[154,[[12,[[158,[164]]]]]]]],[[153,9],[[5,[9]]]],[[153,9],[[154,[[166,[165]]]]]],[[153,23],[[154,[[158,[167]]]]]],[[153,-1],[[154,[[166,[168]]]]],[[117,[9]]]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[153,22],0,[153,22],[[153,23],[[154,[[155,[169]]]]]],[[153,170,170],170],0,[[1,132,[171,[156]]],153],[[153,-1],[[154,[[12,[172]]]]],[[117,[9]]]],[153,173],[[153,23],[[154,[[0,[26]]]]]],0,[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[153,159,168],[[154,[170]]]],[[153,159,174],[[154,[175]]]],[[153,159,168],[[154,[170]]]],0,[[153,34],[[5,[56]]]],[[153,9],[[5,[56]]]],[[153,33],[[5,[56]]]],[[153,9,3],[[5,[56]]]],[[153,9],[[5,[56]]]],[[153,32],[[5,[56]]]],0,0,[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[153,9],[[154,[[12,[14]]]]]],[[153,9],[[16,[176]]]],[[153,9,177],[[154,[[17,[[12,[15]]]]]]]],[[153,9],[[154,[[17,[[12,[178]]]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[[180,[179]]],179],[[181,182],170],[-1,179,28],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[[158,[179]]]]]],0,0,[[170,184],170],[-1,31,[]],[[[185,[[16,[162]]]]],186],[[[185,[[16,[162]]]]],187],[[[185,[[16,[163]]]]],188],[[[185,[-1]]],-1,[189,190]],[[[185,[191]]],[[16,[179]]]],[[[185,[191]],[5,[183]]],179],[[192,-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[170,170],[[],170],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],170],[[[185,[-1]]],[[185,[-1]]],[189,190]],[[-1,-2],24,[],[]],[[9,-1],170,[[117,[[158,[170]]]]]],[[[185,[-1]],[185,[-1]]],65,[193,189]],[[[158,[-1]],[158,[-1]]],65,193],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[9,[5,[183]]],179],[[192,6,6],[[5,[6]]]],[6,179],[[6,[5,[183]]],179],[[-1,170],170,[[117,[179]]]],[-1,[[185,[-2]]],74,[[194,[-1]],189]],[-1,[[185,[[16,[-2]]]]],74,[[194,[-1]]]],[[[185,[-1]]],[],[189,190]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[[10,195],170],[[10,175,170,177,[158,[170]]],170],[[[185,[-1]]],24,[189,190]],[19,24],[19,24],[[[185,[-1]]],24,[189,190]],[35,179],[[],[[158,[-1]]],[]],[[],[[158,[-1]]],[]],[[[185,[-2]],-1],24,78,[[196,[-1]],189]],[[[185,[[16,[-2]]]],-1],24,78,[[196,[-1]]]],[[[185,[-1]],[185,[-1]]],80,189],[[[185,[[16,[-1]]]],[185,[[16,[-1]]]]],80,[]],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[[185,[191]],[16,[197]]],[[180,[179]]]],[[[185,[191]],197],179],[198,179],[[[180,[170]]],170],[[199,179],170],[[[185,[191]]],[[16,[179]]]],[[],179],[[153,[68,[163]],159,-1],[[154,[24]]],200],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[201,170],[[[185,[-1]],202,84],85,[203,189]],[[[185,[-1]],84],85,[105,189,190]],[[[185,[-1]],84],85,[204,189,190]],[[[158,[170]],202,84],85],[[197,-1],179,200],[[[68,[-1]]],[[185,[[16,[-1]]]]],[]],[[[16,[-1]]],[[185,[[16,[-1]]]]],205],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[206,[-1]]],[[158,[-1]]],[]],[[[206,[-1]]],[[158,[-1]]],[]],[[199,7],179],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[-1,[[158,[-2]]],28,[]],[[[16,[-1]]],[[158,[-1]]],205],[[[16,[-1]]],[[158,[-1]]],205],[[[68,[-1]]],[[158,[-1]]],[]],[[[68,[-1]]],[[158,[-1]]],[]],[207,179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[9,-1],170,[[117,[[158,[163]]]]]],[[[121,[-1]]],[[211,[[208,[-1]],24,[210,[209]]]]],[189,190]],[[72,64],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[[185,[-1]],-2],24,[189,190],112],0,[212,179],[[153,-1],[[154,[[185,[[16,[163]]]]]]],[[117,[9]]]],0,0,[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[199,-1],170,[[117,[213]]]],[[],19],[[],19],[214,170],[214,179],[214,179],[-1,-2,[],[]],[-1,-2,[],[]],[[[185,[[16,[-1]]]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[-1,-2,-3,[5,[183]]],179,[[117,[179]]],[[117,[179]]],[[117,[179]]]],[[[185,[191]]],215],[216,179],[[217,35],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[-2,-3],[[158,[-1]]],[],[[73,[[16,[-1]]]]],71],[[-2,-3],[[158,[-1]]],[],[[73,[[16,[-1]]]]],71],[[218,[5,[183]]],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],0,0,[[219,170,108],170],[170,170],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[[185,[191]]],179],[[],170],[-1,[[185,[-1]]],189],[[],[[121,[-1]]],190],[[[185,[191]]],179],[[],179],[[],179],[[-1,175,220],170,[[117,[9]]]],[-1,179,28],[221,170],[[[185,[-1]],[185,[-1]]],[[5,[65]]],[222,189]],[[[158,[-1]],[158,[-1]]],[[5,[65]]],222],[[179,223],179],[182,170],[[-1,-2],170,[[117,[224]]],[[117,[225]]]],0,[-1,[[24,[[228,[[227,[[208,[-1]],[226,[24]],[210,[209]]]]]],229]]],[189,190]],0,0,[[[185,[191]]],179],[-1,[[158,[-1]]],[]],[-1,[[158,[-1]]],[]],[[[185,[191]]],[[5,[183]]]],[[],[[121,[-1]]],[]],[[],[[121,[[16,[-1]]]]],[]],[[],170],[[[158,[-1]],[16,[162]]],[[158,[-1]]],230],[[[185,[191]]],[[5,[231]]]],[-1,-2,[],[]],[[[185,[191]]],[[5,[225]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[[185,[[16,[232]]]]],[[158,[197]]]],[[[158,[232]]],[[158,[197]]]],[-1,122,[]],[[[185,[191]]],[[5,[233]]]],[[[158,[-1]],-2],[[107,[[158,[-1]]]]],234,235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[],179],[-1,179,[[117,[[158,[179]]]]]],[-1,170,[[117,[[158,[170]]]]]],[[-1,35,[5,[183]]],179,[[117,[179]]]],[[-1,[16,[35]]],179,[[117,[179]]]],[-1,125,[]],[-1,125,[]],[236,170],[236,179],[[237,-1,[5,[183]]],179,[[117,[179]]]],[[[185,[238]]],170],[[[185,[238]]],[[24,[170,179]]]],[[],170],[[],170],[[],179],[[],170],[[233,[5,[183]]],179],[[[158,[-1]],-2],[[239,[24]]],240,241],[-1,-2,[],[]],[-1,-2,[],[]],[[],179],0,0,0,0,0,0,0,0,0,0,[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[242,242],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],0,0,[9,122],[1,202],[1,202],0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[19,24],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,202,84],85,[]],[[[243,[-1]],84],85,203],[[[244,[-1]],84],85,26],[[[244,[-1]],202,84],85,26],[[[245,[-1]],202,84],85,203],0,[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[246,[[5,[-1]]],[]],[246,[[5,[242]]]],0,[[202,80],202],0,[[202,80],202],0,0,[[202,80],202],0,0,0,[[],19],[[],19],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[202,242],202],0,[[202,246],24],[[202,-1],[[243,[-1]]],[]],[[77,-1],[[244,[-2]]],28,[]],[[-1,80],[[245,[-1]]],[]],0,0,[[84,-1,[5,[77]]],85,203],0,0,0,[[202,80],202],0,0,0,0,[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[[247,153,9],[[154,[10]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[247,153,44],[[154,[[155,[66]]]]]],0,0,[248,248],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[],173],[[],247],[[247,153],[[154,[157]]]],0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[248,84],85],[[247,153,9],[[154,[[12,[11]]]]]],0,0,[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[111,248],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[247,153],[[250,[72,249]]]],0,0,[[247,153,9],[[154,[159]]]],0,0,[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[248,149],[[150,[111]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[247,153,9],[[154,[[12,[[158,[164]]]]]]]],0,0,[[247,153,9],[[154,[[166,[165]]]]]],0,[[247,153,23],[[154,[[158,[167]]]]]],0,[[247,153,9],[[154,[[166,[168]]]]]],0,[[247,153,23],[[154,[[155,[169]]]]]],0,[[247,153,9],[[154,[[12,[172]]]]]],0,0,0,[[247,153],[[154,[[16,[251]]]]]],0,0,[[[252,[[114,[-1,-2]]]],-1,-3],-2,[253,254],205,71],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[247,153,9],[[154,[[12,[14]]]]]],0,0,[[1,9,255],248],0,[[247,153,9],[[154,[[17,[[12,[178]]]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[10,-1],199,[[117,[175]]]],0,[[181,182],170],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[6,6],[[5,[6]]]],[[256,-1],197,[[117,[[158,[197]]]]]],0,0,0,0,0,0,[257,[[16,[170]]]],0,0,0,0,0,0,0,[[170,184],170],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[238,[[5,[199]]]],[[[17,[-1]]],17,258],[[[12,[-1]]],12,258],[175,188],[[[259,[-1]]],[[5,[-1]]],[]],[[[17,[-1]]],[[17,[-1]]],[]],[[[180,[-1]]],[[180,[-1]]],[]],[[[12,[-1]]],[[12,[-1]]],[]],0,0,0,[170,170],0,[[],170],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[175,[[24,[170,170]]]],[[],170],[192,192],[237,237],[6,6],[159,159],[260,260],[161,161],[261,261],[172,172],[164,164],[262,262],[263,263],[264,264],[265,265],[266,266],[267,267],[256,256],[268,268],[197,197],[269,269],[270,270],[10,10],[[[17,[-1]]],[[17,[-1]]],205],[271,271],[272,272],[232,232],[[[180,[-1]]],[[180,[-1]]],205],[[[12,[-1]]],[[12,[-1]]],205],[[[259,[-1]]],[[259,[-1]]],205],[257,257],[273,273],[274,274],[238,238],[275,275],[224,224],[213,213],[199,199],[182,182],[181,181],[163,163],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[9,-1],170,[[117,[[158,[170]]]]]],[[159,153,-1],[[154,[-3]]],200,[],[[276,[-2]]]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,170],170,[[117,[179]]]],0,[-1,256,75],[-1,268,75],[-1,197,75],[-1,269,75],[-1,270,75],[-1,10,75],[-1,277,75],[-1,[[17,[-2]]],75,[[194,[-1]]]],[-1,271,75],[-1,272,75],[-1,232,75],[-1,[[180,[-2]]],75,[[194,[-1]]]],[-1,[[12,[-2]]],75,[[194,[-1]]]],[-1,[[259,[-2]]],74,[[194,[-1]]]],[-1,257,75],[-1,273,75],[-1,274,75],[-1,238,75],[-1,275,75],[-1,224,75],[-1,213,75],[-1,199,75],[-1,182,75],[-1,181,75],[-1,163,75],0,0,0,0,0,[1,202],[1,202],[197,55],0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[10,9],[[10,195],170],[[10,175,170,177,[158,[170]]],170],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[256,-1],24,79],[[268,-1],24,79],[[197,-1],24,79],[[269,-1],24,79],[[270,-1],24,79],[[10,-1],24,79],[[277,-1],24,79],[[[17,[-2]],-1],24,79,[[196,[-1]]]],[[271,-1],24,79],[[272,-1],24,79],[[232,-1],24,79],[[[180,[-2]],-1],24,79,[[196,[-1]]]],[[[12,[-2]],-1],24,79,[[196,[-1]]]],[[[259,[-2]],-1],24,78,[[196,[-1]]]],[[257,-1],24,79],[[273,-1],24,79],[[274,-1],24,79],[[238,-1],24,79],[[275,-1],24,79],[[224,-1],24,79],[[213,-1],24,79],[[199,-1],24,79],[[182,-1],24,79],[[181,-1],24,79],[[163,-1],24,79],0,[[192,192],80],[[237,237],80],[[6,6],80],[[6,6],6],[[260,260],80],[[161,161],80],[[261,261],80],[[164,164],80],[[262,262],80],[[263,263],80],[[264,264],80],[[265,265],80],[[266,266],80],[[267,267],80],[[256,256],80],[[268,268],80],[[197,197],80],[[269,269],80],[[270,270],80],[[10,10],80],[[277,277],80],[[271,271],80],[[272,272],80],[[232,232],80],[[[180,[-1]],[180,[-1]]],80,278],[[[259,[-1]],[259,[-1]]],80,278],[[274,274],80],[[238,238],80],[[275,275],80],[[224,224],80],[[213,213],80],[[199,199],80],[[182,182],80],[[181,181],80],[[163,163],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,[[[180,[170]]],170],[[199,179],170],[[[17,[-1]],77],-1,[]],[238,[[24,[10,[16,[163]],213]]]],[238,[[24,[10,195]]]],[197,270],[[[259,[-1]]],-1,[]],[232,[[24,[197,55]]]],[238,[[16,[170]]]],[163,170],0,0,0,[272,[[16,[170]]]],0,[[153,[68,[163]],159,-1],[[154,[24]]],200],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[197,[[68,[197]]]],[201,170],[[192,84],[[107,[24,279]]]],[[192,84],[[107,[24,279]]]],[[192,202,84],85],[[237,84],[[107,[24,279]]]],[[237,84],[[107,[24,279]]]],[[237,202,84],85],[[6,84],[[107,[24,279]]]],[[6,84],[[107,[24,279]]]],[[11,202,84],85],[[159,84],85],[[260,84],85],[[161,84],85],[[261,84],85],[[172,84],85],[[164,84],85],[[262,84],85],[[262,202,84],85],[[263,84],85],[[264,84],85],[[265,84],85],[[266,84],85],[[267,84],85],[[256,202,84],85],[[268,84],85],[[197,84],85],[[197,202,84],85],[[269,84],85],[[269,202,84],85],[[270,84],85],[[270,202,84],85],[[10,84],85],[[277,84],85],[[[17,[-1]],84],85,105],[[271,84],85],[[272,202,84],85],[[272,84],85],[[232,202,84],85],[[232,84],85],[[[180,[-1]],84],85,203],[[[180,[179]],202,84],85],[[[180,[273]],202,84],85],[[[180,[-1]],202,84],85,203],[[[12,[-1]],84],85,105],[[[259,[-1]],84],85,105],[[257,84],85],[[257,202,84],85],[[273,84],85],[[274,202,84],85],[[274,84],85],[[251,84],85],[[249,84],85],[[280,84],85],[[238,202,84],85],[[238,84],85],[[275,84],85],[[224,202,84],85],[[224,84],85],[[213,202,84],85],[[213,84],85],[[199,202,84],85],[[199,84],85],[[182,84],85],[[181,84],85],[[181,202,84],85],[[163,84],85],[[163,202,84],85],0,[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[281,6],[-1,-1,[]],[[[107,[-1]]],-1,[]],[8,6],[80,6],[19,6],[7,6],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[19,268],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[24,[179,[259,[80]]]]],213],[-1,-1,[]],[[[107,[-1]]],-1,[]],[282,213],[179,213],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[161,163],[[219,108],224],0,[[6,6],[[5,[6]]]],[[9,-1],170,[[117,[[158,[163]]]]]],0,[[6,6],[[5,[6]]]],[[192,-1],24,112],[[237,-1],24,112],[[6,-1],24,112],[[260,-1],24,112],[[161,-1],24,112],[[261,-1],24,112],[[164,-1],24,112],[[262,-1],24,112],[[263,-1],24,112],[[264,-1],24,112],[[265,-1],24,112],[[266,-1],24,112],[[267,-1],24,112],[[256,-1],24,112],[[268,-1],24,112],[[197,-1],24,112],[[269,-1],24,112],[[270,-1],24,112],[[10,-1],24,112],[[277,-1],24,112],[[271,-1],24,112],[[272,-1],24,112],[[232,-1],24,112],[[[180,[-1]],-2],24,253,112],[[[259,[-1]],-2],24,253,112],[[274,-1],24,112],[[238,-1],24,112],[[275,-1],24,112],[[224,-1],24,112],[[213,-1],24,112],[[199,-1],24,112],[[182,-1],24,112],[[181,-1],24,112],[[163,-1],24,112],[[153,-1],[[154,[175]]],[[117,[9]]]],0,[[6,6],[[5,[6]]]],[[6,6],[[5,[6]]]],0,0,0,0,[[199,-1],170,[[117,[213]]]],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[269,[[16,[197]]]],0,[[[12,[-1]],[16,[163]],[16,[179]]],-1,234],[[[12,[172]],153,[16,[179]]],[[154,[[68,[164]]]]]],[[[12,[-1]],[16,[179]]],-1,234],[[[12,[172]],153,[16,[179]],[68,[164]]],[[154,[24]]]],[214,170],[[214,80],[[16,[271]]]],[35,6],[35,6],[275,170],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[180,[170]]],170],[199,170],[10,[[16,[271]]]],[[199,80],[[16,[271]]]],0,[238,80],[199,80],0,[197,80],[238,80],[199,80],[10,80],[238,80],[199,80],[238,80],[199,80],[10,80],[238,80],[199,80],[10,80],[197,80],[238,80],[199,80],[10,80],[238,80],[199,80],[[-1,1,80],80,[]],[[[180,[179]]],80],[238,80],[199,80],[238,80],[197,80],[163,80],[275,80],[164,262],[238,275],0,0,0,0,0,0,0,[[-1,1,80],[[5,[-2]]],[],[]],[[[17,[-1]],-2],[[17,[-3]]],[],71,[]],[[[180,[-1]],-2],[[180,[-3]]],[],71,[]],[[[12,[-1]],-2],[[12,[-3]]],[],71,[]],[[219,170,108],170],[170,170],0,0,0,0,0,0,0,[[6,6],6],[[],170],[[[283,[163]]],188],[[-1,262],164,[[117,[[158,[232]]]]]],[[[68,[197]],197],269],[[19,269],270],[[284,197,[68,[271]],80],10],[[10,175,[158,[170]],179],272],[[-1,[158,[232]]],[[180,[-1]]],[]],[[-1,-2,[180,[273]]],257,[[117,[[158,[274]]]]],[[117,[[158,[170]]]]]],[[170,-1],273,[[117,[[158,[274]]]]]],[[9,-1,-2],182,[[117,[175]]],[[117,[220]]]],0,0,0,[[[17,[-1]],-2],[[107,[-1,-3]]],[],71,[]],[[-1,175,220],170,[[117,[9]]]],0,[[6,6],[[5,[6]]]],[269,197],[257,[[180,[273]]]],0,0,0,[221,170],[[159,19,153],[[154,[161]]]],[270,19],0,0,0,0,0,0,0,[[[12,[172]]],[[12,[[158,[164]]]]]],0,0,0,0,0,0,[182,170],0,0,0,[[-1,-2],170,[[117,[224]]],[[117,[225]]]],[[[180,[-1]],-2],[[180,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],0,[159,19],[[159,19,153],[[154,[260]]]],0,0,[[[180,[-1]],179],-1,234],[[[180,[-1]],[16,[179]]],-1,234],[[[180,[-1]],-2],-1,234,200],[[[180,[-1]],-2,-3],-1,234,200,200],[257,285],0,[188,170],[272,170],0,0,0,[182,170],0,0,[[[180,[-1]]],-1,[]],[[[12,[-1]]],-1,[]],[270,269],[170,199],[10,197],[199,197],0,0,0,0,[188,[[283,[163]]]],[[[259,[-1]]],[[0,[26]]],[]],[[],[[121,[[16,[15]]]]]],[[],[[121,[[16,[170]]]]]],[[],[[121,[[16,[260]]]]]],[[],[[121,[[16,[161]]]]]],[[],[[121,[[16,[164]]]]]],[[],[[121,[[16,[197]]]]]],[[],[[121,[277]]]],[[],[[121,[[16,[271]]]]]],[[],[[121,[[16,[232]]]]]],[[],[[121,[[16,[[259,[80]]]]]]]],[[],[[121,[[16,[274]]]]]],[[],[[121,[238]]]],[[],[[121,[[16,[163]]]]]],[[],170],0,[[170,-1],[[239,[24]]],241],[[[180,[-1]],-2],239,240,241],[[199,-1],[[239,[24]]],241],0,[[266,9,[158,[170]]],11],[267,11],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[12,[15]]],[[12,[11]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],0,[[[17,[[107,[-1,-2]]]]],[[107,[[17,[-1]],-2]]],[],[]],[[170,-1],[[107,[170]]],235],[[164,-1],[[107,[164]]],235],[[262,-1],[[107,[262]]],235],[[263,-1],[[107,[263]]],235],[[264,-1],[[107,[264]]],235],[[265,-1],[[107,[265]]],235],[[266,-1],[[107,[266]]],235],[[267,-1],[[107,[267]]],235],[[197,-1],[[107,[197]]],235],[[[17,[-1]],-2],[[107,[[17,[-1]]]]],234,235],[[271,-1],[[107,[271]]],235],[[272,-1],[[107,[272]]],235],[[232,-1],[[107,[232]]],235],[[[180,[-1]],-2],[[107,[[180,[-1]]]]],234,235],[[257,-1],[[107,[257]]],235],[[273,-1],[[107,[273]]],235],[[274,-1],[[107,[274]]],235],[[251,-1],[[107,[251]]],235],[[213,-1],[[107,[213]]],235],[[199,-1],[[107,[199]]],235],[[182,-1],[[107,[182]]],235],[[163,-1],[[107,[163]]],235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[[180,[-1]],-2],[[107,[[180,[-3]],-4]]],[],71,[],[]],[[[12,[-1]],-2],[[107,[[12,[-3]],-4]]],[],71,[],[]],[[170,-1],[[107,[170]]],235],[[197,-1],[[107,[197]]],235],[[[180,[-1]],-2],[[107,[[180,[-1]]]]],234,235],[[199,-1],[[107,[199]]],235],[-1,170,[[117,[[158,[170]]]]]],[-1,197,[[117,[[158,[197]]]]]],0,[188,170],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[236,170],[[236,80],[[16,[271]]]],[35,6],[170,170],[170,[[24,[170,179]]]],[[],170],[[],170],[[],197],[[],[[259,[-1]]],[]],[[],213],[[],170],0,0,0,0,[[10,177],286],[10,[[287,[177,286]]]],[[[180,[-1]]],[[158,[232]]],[]],0,0,0,0,[[170,-1],[[239,[24]]],241],[[164,-1],239,241],[[262,-1],239,241],[[263,-1],[[239,[24]]],241],[[264,-1],[[239,[24]]],241],[[265,-1],[[239,[24]]],241],[[266,-1],239,241],[[267,-1],[[239,[24]]],241],[[197,-1],239,241],[[[17,[-1]],-2],[[239,[24]]],240,241],[[271,-1],[[239,[24]]],241],[[272,-1],239,241],[[232,-1],239,241],[[[180,[-1]],-2],239,240,241],[[257,-1],[[239,[24]]],241],[[273,-1],[[239,[24]]],241],[[274,-1],[[239,[24]]],241],[[251,-1],[[239,[24]]],241],[[213,-1],[[239,[24]]],241],[[199,-1],[[239,[24]]],241],[[182,-1],[[239,[24]]],241],[[163,-1],[[239,[24]]],241],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[197,-1],24,200],[251,[[24,[[68,[[24,[207,197]]]],179]]]],[[-1,197],[[180,[-1]]],[]],[[-1,-2],[[180,[-1]]],[],28],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[288,19],288],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[288,35],[288,19],[[288,19],[[5,[288]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[198,198],[288,288],[289,289],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[198,198],65],[[288,288],65],[[289,289],65],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[198,289],0,[-1,198,74],[-1,288,74],[-1,289,74],[[],290],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[198,-1],24,78],[[288,-1],24,78],[[289,-1],24,78],[[198,198],80],[[288,288],80],[[289,289],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,0,0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[291,24],[[291,84],85],[[290,84],85],[[198,202,84],85],[[198,84],85],[[292,84],85],[[293,84],85],[[288,84],85],[[289,84],85],[[288,19],[[5,[288]]]],[[290,289],198],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[35,288],[19,288],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[35,288],[35,288],[19,288],[[291,198],[[5,[179]]]],[[198,-1],24,112],[[288,-1],24,112],[[289,-1],24,112],0,[288,19],[288,19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[291,[[0,[26]]]],[[],290],[19,288],[290,289],[[198,198],[[5,[65]]]],[[288,288],[[5,[65]]]],[[289,289],[[5,[65]]]],0,0,[290,[[107,[291,292]]]],[[288,288],[[5,[19]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[290,198,-1,80],24,[[117,[179]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[180,[179]]],179],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[294,19],294],[[207,19],207],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[-1,179,28],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[[158,[179]]]]]],0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[179,[[16,[179]]]],[294,35],[207,35],[294,19],[207,19],[[179,[5,[183]]],179],[[294,19],[[5,[294]]]],[[207,19],[[5,[207]]]],[183,[[5,[118]]]],0,[[192,-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[191,191],[183,183],[295,295],[215,215],[212,212],[216,216],[233,233],[225,225],[231,231],[294,294],[207,207],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[233,233],65],[[225,225],65],[[231,231],65],[[294,294],65],[[207,207],65],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[9,[5,[183]]],179],[[192,6,6],[[5,[6]]]],[6,179],[[6,[5,[183]]],179],[-1,191,75],[-1,183,75],[-1,295,75],[-1,215,75],[-1,212,75],[-1,216,75],[-1,233,74],[-1,225,74],[-1,231,74],[-1,294,74],[-1,207,74],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[35,179],[[191,-1],24,79],[[183,-1],24,79],[[295,-1],24,79],[[215,-1],24,79],[[212,-1],24,79],[[216,-1],24,79],[[233,-1],24,78],[[225,-1],24,78],[[231,-1],24,78],[[294,-1],24,78],[[207,-1],24,78],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[191,191],80],[[183,183],80],[[295,295],80],[[215,215],80],[[212,212],80],[[216,216],80],[[233,233],80],[[225,225],80],[[231,231],80],[[294,294],80],[[207,207],80],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,[[179,[16,[197]]],[[180,[179]]]],[[179,197],179],[198,179],[179,[[16,[179]]]],[[],179],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[179,202,84],85],[[179,84],85],[[183,84],85],[[295,84],85],[[212,84],85],[[216,202,84],85],[[216,84],85],[[233,84],85],[[233,202,84],85],[[225,202,84],85],[[225,84],85],[[231,202,84],85],[[231,84],85],[[294,84],85],[[207,84],85],[[197,-1],179,200],[[294,19],[[5,[294]]]],[[207,19],[[5,[207]]]],[281,179],[225,179],[207,179],[179,179],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[231,225],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[207,231],[218,231],[[[107,[-1]]],-1,[]],[35,294],[19,294],[-1,-1,[]],[35,207],[19,207],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[199,7],179],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[195,[[5,[225]]]],[35,294],[35,207],[35,294],[35,207],[19,294],[19,207],[207,179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[72,64],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[191,-1],24,112],[[183,-1],24,112],[[295,-1],24,112],[[215,-1],24,112],[[212,-1],24,112],[[216,-1],24,112],[[233,-1],24,112],[[225,-1],24,112],[[231,-1],24,112],[[294,-1],24,112],[[207,-1],24,112],0,[212,179],0,[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[294,19],[294,19],[207,19],[207,19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[214,179],[214,179],[215,179],[[215,[5,[183]]],179],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[179,80],[179,80],[179,80],[179,80],[179,80],[179,80],[[-1,-2,-3,[5,[183]]],179,[[117,[179]]],[[117,[179]]],[[117,[179]]]],[179,215],0,[216,179],0,[[217,35],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],0,0,[[218,[5,[183]]],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[179,179],[118,183],[118,295],[[294,19,[68,[179]]],216],[[231,-1],225,[[117,[[158,[223]]]]]],[19,294],[19,207],[179,179],[[],179],[[],179],[-1,179,28],[[233,233],[[5,[65]]]],[[225,225],[[5,[65]]]],[[231,231],[[5,[65]]]],[[294,294],[[5,[65]]]],[[207,207],[[5,[65]]]],[[179,223],179],0,0,0,[225,[[16,[223]]]],0,[216,[[16,[179]]]],[216,[[16,[179]]]],0,[179,179],[179,[[5,[183]]]],[183,118],[295,118],0,[[294,294],[[5,[19]]]],[[207,207],[[5,[19]]]],[[],[[121,[[16,[179]]]]]],[[],[[121,[191]]]],[[],[[121,[[16,[216]]]]]],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[179,-1],[[239,[24]]],241],[233,179],[225,179],[231,179],[179,[[5,[231]]]],[225,[[5,[231]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[179,[[5,[225]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[179,[[5,[233]]]],[[179,-1],[[107,[179]]],235],[[212,-1],[[107,[212]]],235],[[216,-1],[[107,[216]]],235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[179,-1],[[107,[179]]],235],[[],179],[-1,179,[[117,[[158,[179]]]]]],[[-1,35,[5,[183]]],179,[[117,[179]]]],[[-1,[16,[35]]],179,[[117,[179]]]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[236,179],[[237,-1,[5,[183]]],179,[[117,[179]]]],[[],179],[[233,[5,[183]]],179],[[179,-1],[[239,[24]]],241],[[212,-1],[[239,[24]]],241],[[216,-1],[[239,[24]]],241],[[233,-1],[[239,[24]]],241],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[183,183],183],[[],179],0,0,0,0,0,0,0,0,[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[296,296],65],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[19,-1,[]],[19,-1,[]],[19,24],[[296,296],80],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,77],[[81,[-2]]],[],[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[296,80],[[296,296],[[5,[65]]]],[192,296],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,[[-1,[180,[-2]]],[[180,[-2]]],[],234],[[-1,199],199,[]],[[-1,179],179,[]],[[-1,219],219,[]],[[-1,197],197,[]],[[-1,170],170,[]],[[-1,-2],-1,[],297],[-1,[[298,[207]]],[]],[-1,80,[]],[[-1,157],-1,[]],[[-1,153,299,9,[16,[179]]],[[154,[-1]]],[]],[-1,300,[]],[[-1,291],-1,[]],[[-1,-2],-1,[],200],[[-1,35],-1,[]],[[-1,35],-1,[]],[[-1,-2],-1,[],297],[[-1,-2],[[239,[24]]],[],241],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,199],[[107,[199]]],[]],[[-1,179],[[107,[179]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,170],[[107,[170]]],[]],[[-1,-2],[[107,[-1]]],[],235],[[-1,-2],[[107,[-1]]],[],235],[[-1,[180,[-2]]],239,[],240],[[-1,199],239,[]],[[-1,179],239,[]],[[-1,207],239,[]],[[-1,170],239,[]],[[-1,-2],[[239,[24]]],[],241],[-1,-1,[]],0,0,0,[[301,179,[16,[179]],[5,[183]]],179],[[179,[5,[183]]],179],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[],157],[[157,[180,[179]]],[[298,[72]]]],0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[301,179],179],[[302,179],179],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[157,72],[[5,[303]]]],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[157,301],[183,302],[[[250,[72,303]]],[[107,[157,[68,[72]]]]]],[157,[[107,[157,[68,[72]]]]]],[157,[[107,[[68,[72]],[68,[72]]]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,199],[[107,[199]]],[]],[[-1,199],[[107,[199]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[301,179,35],179],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[304,182,[68,[305]]],[[154,[24]]]],[[304,182,[68,[305]]],24],[[[16,[164]],182,[68,[305]]],24],[[304,182,[68,[305]]],[[154,[24]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[304,305,182],[[154,[170]]]],0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[305,84],85],[[306,84],85],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],0,[[306,307,163],24],[[306,308,219],24],[[306,3,170],24],[[],19],[[],19],[[],19],[[306,309,219],24],[[306,221,170],24],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[181,310],[[1,182],311],[312,313],[[1,199],3],[[1,163],307],[[1,[16,[163]]],314],[[1,219],308],[[1,170],3],[[1,315,3,170],[[68,[163]]]],[[153,299,9,[16,[179]]],[[154,[304]]]],[[304,182],[[154,[170]]]],0,[304,316],0,[304,1],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[304,170],[[107,[170]]]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[317,9],[[154,[10]]]],[317,317],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[153,159],317],[19,-1,[]],[19,-1,[]],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],0,[[317,9],[[154,[159]]]],0,[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[[317,159,[16,[162]],-1],[[154,[175]]],200],[[317,9,[16,[162]],-1],[[154,[175]]],200],[[153,159],317],[[317,221],[[154,[161]]]],0,[318,181],[[317,318,319],[[154,[182]]]],[[317,9,318],[[154,[220]]]],[[317,[320,[-1]],-2],[[154,[[180,[-3]]]]],[],200,[]],[[[16,[167]]],[[158,[232]]]],[[317,[16,[321]],321],[[154,[[5,[164]]]]]],[[317,[16,[321]]],[[154,[[158,[164]]]]]],[199,[[180,[170]]]],[[317,[16,[321]],322,323],[[154,[262]]]],[[317,161,162],[[154,[163]]]],[[317,162],[[154,[163]]]],[[317,324],[[154,[172]]]],[[153,325],[[154,[159]]]],[[317,165],[[154,[11]]]],[[317,168],[[154,[14]]]],[[317,323],[[154,[264]]]],[[317,168],[[154,[170]]]],[[317,9,[16,[168]]],[[154,[15]]]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],[[153,159],317],0,0,0,0,0,0,[[326,-1],-1,234],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[327,221,213],170],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],0,0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[19,24],[19,24],0,[[327,35],179],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[326,84],85],[[[328,[-1]],[180,[-2]]],[[180,[-2]]],329,234],[[327,[180,[-1]]],[[180,[-1]]],234],[[[328,[-1]],179],179,329],[[330,179],179],[[327,179],179],[[[328,[-1]],219],219,329],[[327,219],219],[[327,197],197],[[327,170],170],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],0,[[326,199,168],24],[[326,219,219],24],[[326,170,168],24],[[],19],[[],19],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[328,[-1]]],[]],[291,330],[[[5,[[16,[163]]]],[16,[179]]],327],[[170,168],326],0,[[327,309],219],0,[[-1,35],179,[]],[[[331,[-1,-2]],35],179,200,200],[[-1,312],219,[]],[[[331,[-1,-2]],312],219,200,200],[[327,221],197],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,199],[[107,[199]]],[]],[[-1,199],[[107,[199]]],[]],[[-1,199],[[107,[199]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[327,221],170],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[255,255],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],0,[19,24],[19,24],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[255,84],85],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[255,115],[-1,-2,[],[]],[-1,-2,[],[]],[332,284],[[333,334],[[107,[335,255]]]],[310,[[107,[318,255]]]],[[333,336],[[5,[337]]]],[[333,338],[[107,[339,111]]]],[[333,340],[[107,[341,255]]]],[[[342,[-1]],-2],[[107,[[320,[-3]],255]]],[],200,[]],[[333,343],[[107,[344,255]]]],[313,[[107,[312,255]]]],[[[16,[345]]],[[107,[[158,[167]],255]]]],[[333,346],[[5,[347]]]],[[1,132,348,118],[[107,[321,111]]]],[[1,349],[[107,[184,255]]]],[[333,350],[[107,[4,255]]]],[[333,351],[[5,[352]]]],[353,354],[[1,355],[[107,[165,255]]]],[[1,307],[[107,[162,255]]]],[[1,314],[[107,[[158,[162]],255]]]],[356,[[107,[357,255]]]],[[1,132,358],[[107,[324,111]]]],[315,[[107,[325,255]]]],[[1,132,[16,[348]],118],[[107,[[158,[321]],111]]]],[[333,359],[[107,[360,111]]]],[[1,132,361],[[107,[169,111]]]],[[333,362],[[107,[363,255]]]],[364,[[107,[195,255]]]],[[333,365],[[5,[366]]]],[308,[[107,[219,255]]]],[[333,367],[[107,[368,255]]]],[[333,369],[[107,[370,111]]]],[[333,371],[[107,[372,111]]]],[[1,3],[[107,[168,255]]]],[373,286],[-1,255,374],0,[[333,9,314],[[107,[[24,[9,375]],255]]]],0,0,0,0,[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[369,376],[371,376],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[377,149],[[150,[-1]]],151],[[376,149],[[150,[-1]]],151],[[378,149],[[150,[-1]]],151],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[359,255],377],[[118,77,255],376],[[118,-1],378,374],0,0,0,0,0,[[118,255],376],[[118,255],376],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],0,[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],0,[169,[[0,[379]]]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[380,[[5,[223]]]],0,0,[[195,153,381],[[154,[80]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[169,382],383],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[169,[[385,[384,[68,[382]]]]]],[360,360],[347,347],[366,366],[341,341],[195,195],[380,380],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[-1,195,74],[-1,380,74],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[169,[[387,[386]]]],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[195,-1],24,78],[[380,-1],24,78],[[341,341],80],[[195,195],80],[[380,380],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,[[388,153,223],[[154,[168]]]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[223,202,84],85],[[169,84],85],[[372,84],85],[[370,84],85],[[368,84],85],[[363,84],85],[[4,84],85],[[352,84],85],[[339,84],85],[[375,84],85],[[389,84],85],[[390,84],85],[[337,84],85],[[391,84],85],[[347,84],85],[[366,84],85],[[335,84],85],[[341,84],85],[[195,84],85],[[388,84],85],[[380,84],85],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[168,388],[[341,-1],24,112],[[195,-1],24,112],[[380,-1],24,112],0,0,[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[169,392],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[169,386],80],[370,80],[372,80],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],0,0,0,0,0,[[169,218],393],0,[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[[394,[386,339]]],[[394,[386,19]]]],[[[394,[386,339]],[394,[218,360]],361,299],169],[[218,[68,[380]]],195],[[[5,[386]]],122],0,0,0,0,0,0,[[388,153,380],[[154,[388]]]],0,[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],0,[169,395],[[1,361],299],0,[169,[[5,[218]]]],[169,392],0,0,0,0,[169,118],0,0,0,[[],[[121,[[16,[223]]]]]],0,0,[[169,386],384],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[195,153,381],[[154,[388]]]],0,0,[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],0,0,[169,[[0,[379]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[174,186],[174,187],[[[320,[-1]]],[[320,[-1]]],[]],[[-1,-2],[[320,[-1]]],[],[[117,[[158,[167]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[166,[-1]]],[[166,[-1]]],205],[[[320,[-1]]],[[320,[-1]]],205],[167,167],[396,396],[168,168],[284,284],[318,318],[282,282],[184,184],[219,219],[397,397],[312,312],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],0,0,[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],0,[-1,167,75],[-1,284,75],[-1,398,75],[-1,286,75],[-1,354,75],[-1,282,74],[-1,184,75],[-1,219,75],[-1,397,75],[-1,312,75],0,0,0,0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[168,168],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[284,9],0,0,[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[167,-1],24,79],[[284,-1],24,79],[[398,-1],24,79],[[286,-1],24,79],[[354,-1],24,79],[[282,-1],24,78],[[184,-1],24,79],[[219,-1],24,79],[[397,-1],24,79],[[312,-1],24,79],[[[320,[-1]],[320,[-1]]],80,278],[[167,167],80],[[357,357],80],[[399,399],80],[[321,321],80],[[400,400],80],[[401,401],80],[[323,323],80],[[402,402],80],[[396,396],80],[[168,168],80],[[284,284],80],[[398,398],80],[[286,286],80],[[354,354],80],[[403,403],80],[[404,404],80],[[319,319],80],[[318,318],80],[[282,282],80],[[184,184],80],[[162,162],80],[[219,219],80],[[397,397],80],[[312,312],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[168,[[24,[284,174]]]],[162,184],[162,219],[162,168],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[284,405],0,[[217,202,84],85],[[[320,[-1]],84],85,105],[[167,84],85],[[324,84],85],[[321,84],85],[[400,84],85],[[401,84],85],[[323,84],85],[[402,84],85],[[396,84],85],[[168,84],85],[[284,84],85],[[398,84],85],[[286,84],85],[[354,84],85],[[403,84],85],[[404,84],85],[[319,84],85],[[318,84],85],[[282,84],85],[[184,84],85],[[184,202,84],85],[[162,84],85],[[[283,[-1]],84],85,105],[[219,84],85],[[219,202,84],85],[[312,84],85],[[406,202,84],85],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[19,184],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[[320,[-1]],-2],24,253,112],[[167,-1],24,112],[[357,-1],24,112],[[399,-1],24,112],[[321,-1],24,112],[[400,-1],24,112],[[401,-1],24,112],[[323,-1],24,112],[[402,-1],24,112],[[396,-1],24,112],[[168,-1],24,112],[[284,-1],24,112],[[398,-1],24,112],[[286,-1],24,112],[[354,-1],24,112],[[403,-1],24,112],[[404,-1],24,112],[[319,-1],24,112],[[318,-1],24,112],[[282,-1],24,112],[[184,-1],24,112],[[162,-1],24,112],[[219,-1],24,112],[[397,-1],24,112],[[312,-1],24,112],0,0,0,[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[396,[[16,[168]]]],0,[[[166,[-1]]],-1,[]],[404,168],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[168,80],[284,80],[284,80],[168,80],[284,80],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[284,80],[168,404],0,0,0,0,[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[284,-1],168,[[117,[174]]]],[[318,9,-1],168,[[117,[174]]]],[[168,184],168],[[],168],[[],168],[[9,-1],168,[[117,[174]]]],[[9,-1],168,[[117,[174]]]],[201,168],[165,168],[[9,174],168],[214,168],[[],168],[221,168],[[168,108],168],[[219,168,108],168],[168,168],[[],168],[-1,168,[[117,[[158,[168]]]]]],[236,168],[[],168],0,0,0,0,0,[400,321],[398,284],[[9,[394,[177,286]],405],398],[284,286],0,[396,168],0,[325,[[5,[9]]]],0,0,0,[325,19],0,0,0,0,0,[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[219,122],0,0,0,[323,168],[319,168],0,[[[166,[-1]]],-1,[]],[[[320,[-1]]],-1,[]],[187,[[283,[162]]]],[186,[[407,[162]]]],[[],[[121,[[16,[167]]]]]],[[],[[121,[[16,[357]]]]]],[[],[[121,[[16,[321]]]]]],[[],[[121,[[16,[168]]]]]],[[],[[121,[398]]]],[[],[[121,[403]]]],[[],[[121,[[16,[162]]]]]],0,[[[166,[168]],[16,[162]]],168],[[[320,[-1]],[16,[162]]],[[320,[-1]]],230],[[396,[16,[162]]],396],[[168,[16,[162]]],168],[[184,[16,[162]]],184],[[162,[16,[162]]],162],[[219,[16,[162]]],219],0,[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],0,[[219,-1],[[107,[219]]],235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[168,[[158,[168]]]],[187,168],[186,168],0,0,[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[187,[[0,[26]]]],[186,[[158,[168]]]],0,0,[[284,177],286],[284,[[287,[177,286]]]],0,[[[320,[-1]]],[[158,[167]]],[]],[[219,-1],[[239,[24]]],241],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[[-1,[16,[162]]],-1,[]]],"c":[],"p":[[3,"TyCtxt",9355],[3,"ScalarInt",7744],[3,"Ty",9356],[4,"Constant",6579],[4,"Option",9357],[4,"Constant",2982],[15,"u128"],[15,"i128"],[3,"DefId",9358],[3,"AdtDef",2982],[6,"PolyFnSig",2982],[3,"EarlyBinder",2982],[3,"RefinedBy",35],[6,"PolyTy",2982],[6,"PolyVariant",2982],[15,"slice"],[4,"Opaqueness",2982],[3,"ItemLocalId",35],[15,"usize"],[3,"SortVid",35],[3,"Name",35],[3,"Map",35],[3,"LocalDefId",9358],[15,"tuple"],[3,"TyAlias",35],[8,"Iterator",9359],[3,"Arena",9360],[8,"IntoIterator",9361],[3,"Arena",9362],[4,"SortCtor",35],[8,"Any",9363],[3,"Ty",35],[3,"Path",35],[3,"BaseTy",35],[15,"u32"],[4,"GenericParamKind",35],[3,"ConstInfo",35],[4,"TraitBoundModifier",35],[4,"TyKind",35],[3,"MutTy",35],[4,"Lifetime",35],[3,"ArrayLen",35],[4,"WeakKind",35],[4,"FluxLocalDefId",35],[4,"FluxOwnerId",35],[3,"FhirId",35],[4,"RefineArg",35],[4,"BaseTyKind",35],[4,"QPath",35],[3,"TypeBinding",35],[4,"GenericArg",35],[4,"Res",35],[3,"RefineParam",35],[4,"ParamKind",35],[4,"InferMode",35],[4,"Sort",35],[3,"FuncSort",35],[3,"PolyFuncSort",35],[3,"Expr",35],[4,"ExprKind",35],[4,"Func",35],[4,"Lit",35],[3,"Ident",35],[4,"FuncKind",35],[4,"Ordering",9364],[3,"WfckResults",35],[4,"Coercion",35],[3,"Vec",9365],[3,"LocalTableInContext",35],[3,"LocalTableInContextMut",35],[8,"FnOnce",9366],[3,"Symbol",2332],[8,"Borrow",9367],[8,"Decoder",9368],[8,"TyDecoder",9369],[3,"Defn",35],[15,"str"],[8,"Encoder",9368],[8,"TyEncoder",9369],[15,"bool"],[3,"RequestFilterDataProvider",9370],[4,"FingerprintStyle",9371],[3,"FnSig",35],[3,"Formatter",9372],[6,"Result",9372],[3,"FnOutput",35],[4,"Constraint",35],[3,"Generics",35],[3,"GenericParam",35],[3,"Qualifier",35],[4,"FluxItem",35],[3,"SortDecl",35],[3,"GenericPredicates",35],[3,"WhereBoundPredicate",35],[4,"GenericBound",35],[3,"PolyTraitRef",35],[3,"OpaqueTy",35],[3,"StructDef",35],[4,"StructKind",35],[3,"FieldDef",35],[3,"EnumDef",35],[3,"VariantDef",35],[3,"VariantRet",35],[3,"FnInfo",35],[8,"Debug",9372],[3,"FuncDecl",35],[4,"Result",9373],[4,"Mutability",7744],[3,"OwnerId",9374],[3,"QueryInfo",9375],[3,"ErrorGuaranteed",9376],[8,"Hasher",9377],[6,"SurfaceIdent",35],[3,"UnordMap",9378],[4,"DiagnosticArgValue",9379],[4,"ResolvedArg",9380],[8,"Into",9381],[3,"Span",9382],[3,"DepNode",9383],[6,"SortDecls",35],[3,"InternStorage",2488],[3,"String",9384],[3,"Fingerprint",9385],[4,"Res",9386],[3,"TypeId",9363],[3,"LiftCtxt",2201],[8,"IntoDiagnostic",9387],[3,"Generics",9388],[4,"ArrayLen",9388],[3,"Variant",9388],[3,"FieldDef",9388],[3,"FluxSession",9389],[4,"FnRetTy",9388],[3,"FnSig",9388],[4,"GenericArg",9388],[4,"GenericBound",9388],[3,"GenericParam",9388],[3,"Lifetime",9388],[3,"MutTy",9388],[3,"ItemId",9388],[3,"Path",9388],[3,"Ty",9388],[3,"PolyTraitRef",9388],[4,"QPath",9388],[3,"TypeBinding",9388],[3,"Item",9388],[4,"WherePredicate",9388],[3,"UnsupportedHir",2264],[3,"Handler",9390],[3,"DiagnosticBuilder",9387],[8,"EmissionGuarantee",9387],[8,"Visitor",2290],[3,"GlobalEnv",2332],[6,"QueryResult",2858],[3,"Rc",9391],[6,"CrateStoreDyn",28],[3,"Defns",6021],[6,"List",2488],[3,"Generics",2982],[3,"Map",9392],[3,"GenericParamDef",2982],[4,"GenericArg",7744],[4,"GenericArg",2982],[3,"Clause",2982],[6,"PolyFnSig",7744],[3,"EarlyBinder",7744],[4,"BoundVariableKind",7744],[3,"Ty",7744],[3,"Body",6579],[6,"Ty",2982],[3,"Box",9393],[3,"GenericPredicates",2982],[3,"Providers",2858],[6,"GenericArgs",7744],[6,"GenericArgs",2982],[4,"Variance",6579],[3,"VariantIdx",6579],[6,"PolyVariants",2982],[6,"Expr",5307],[3,"Binder",2982],[4,"AliasKind",2982],[3,"AliasTy",2982],[3,"ESpan",5307],[4,"Const",7744],[3,"Interned",2488],[3,"ClosureArgs",7744],[3,"GeneratorArgs",7744],[3,"GeneratorArgs",2982],[8,"Internable",2488],[8,"Sized",9394],[3,"ExprS",5307],[4,"BinOp",2982],[8,"Ord",9364],[8,"Decodable",9368],[3,"Place",6579],[8,"Encodable",9368],[4,"Sort",2982],[3,"EVar",5057],[4,"BaseTy",2982],[8,"FnMut",9366],[4,"FloatTy",7744],[3,"PPrintCx",2699],[8,"Pretty",2699],[8,"Display",9372],[8,"Clone",9395],[15,"array"],[3,"Name",5307],[3,"Arc",9396],[3,"FxHasher",9397],[3,"BuildHasherDefault",9377],[3,"DashMap",9398],[4,"HoleKind",5307],[3,"Index",2982],[4,"IntTy",7744],[4,"ExprKind",5307],[3,"KVar",5307],[3,"DebruijnIndex",7744],[3,"Local",6579],[4,"Region",7744],[6,"RefineArgs",2982],[3,"ParamTy",7744],[8,"PartialOrd",9364],[3,"FieldIdx",6579],[4,"PtrKind",2982],[3,"Path",5307],[3,"SharedValue",9399],[3,"HashMap",9400],[6,"RwLockWriteGuard",9401],[15,"u64"],[8,"Subst",9353],[4,"Loc",5307],[4,"BoundVariableKind",2982],[4,"Var",5307],[8,"TypeFoldable",5979],[8,"FallibleTypeFolder",5979],[4,"UintTy",7744],[4,"UnOp",2982],[3,"TyS",2982],[4,"ControlFlow",9402],[8,"TypeVisitable",5979],[8,"TypeVisitor",5979],[4,"KVarArgs",2699],[3,"WithCx",2699],[3,"Join",2699],[3,"Parens",2699],[4,"Value",9403],[3,"Queries",2858],[4,"QueryErr",2858],[3,"FuncDecl",2982],[6,"FxHashMap",9397],[3,"Qualifier",2982],[3,"RefCell",9404],[8,"Hash",9377],[8,"Eq",9364],[3,"UnsupportedReason",6411],[4,"SortCtor",2982],[3,"FnSig",2982],[8,"Deref",9405],[4,"TupleTree",2982],[3,"RefineParam",2982],[4,"GenericParamDefKind",2982],[4,"ClauseKind",2982],[3,"TraitPredicate",2982],[3,"TraitRef",2982],[3,"ProjectionPredicate",2982],[3,"FnTraitPredicate",2982],[3,"GeneratorObligPredicate",2982],[3,"SortVar",2982],[3,"FuncSort",2982],[3,"PolyFuncSort",2982],[3,"Invariant",2982],[3,"VariantSig",2982],[3,"FnOutput",2982],[4,"Constraint",2982],[4,"TyKind",2982],[8,"FromIterator",9361],[3,"AdtDefData",2982],[8,"PartialEq",9364],[3,"Error",9372],[3,"ClosureOblig",2982],[15,"i32"],[3,"ValueConst",7744],[3,"GeneratorArgsParts",7744],[3,"AdtDef",7744],[6,"Constraints",2982],[3,"VariantDef",7744],[3,"IndexSlice",9406],[3,"EVid",5057],[3,"EVarCxId",5057],[3,"EVarGen",5057],[3,"EVarSol",5057],[3,"UnsolvedEvar",5057],[4,"EVarState",5057],[3,"KVid",5307],[3,"SpanData",5307],[4,"Precedence",5938],[8,"TypeFolder",5979],[6,"FxHashSet",9397],[3,"InferCtxt",9407],[6,"OpaqueArgsMap",2982],[3,"Normalizer",6021],[3,"BaseSpanner",6021],[3,"Defn",2982],[3,"Normalizer",6109],[4,"Candidate",6109],[3,"TVarSubst",6109],[3,"GenericArg",9408],[3,"Region",9409],[3,"EarlyBoundRegion",7744],[4,"AliasKind",9410],[3,"AliasTy",9409],[3,"BoundRegion",7744],[3,"BoundRegion",9409],[6,"GenericArgsRef",9408],[3,"Generics",9411],[3,"ParamEnv",9356],[3,"Refiner",6203],[4,"AliasKind",7744],[3,"AliasTy",7744],[3,"Binder",7744],[3,"Clause",7744],[4,"ClosureKind",2982],[3,"TraitRef",7744],[3,"GenericPredicates",7744],[3,"Generics",7744],[3,"RegionSubst",6253],[3,"GenericsSubstFolder",6253],[3,"BoundVarReplacer",6253],[8,"BoundVarReplacerDelegate",6253],[3,"EVarSubstFolder",6253],[3,"FnMutDelegate",6253],[3,"AdtDef",9412],[3,"LoweringCtxt",6411],[4,"AggregateKind",9413],[4,"AggregateKind",6579],[6,"AssertMessage",9413],[4,"AssertKind",6579],[3,"BasicBlockData",9414],[3,"BasicBlockData",6579],[4,"BinOp",9413],[4,"BinOp",6579],[3,"Binder",9409],[4,"BorrowKind",9413],[4,"BorrowKind",6579],[4,"BoundVariableKind",9409],[4,"CastKind",9413],[4,"CastKind",6579],[3,"Clause",9356],[3,"Const",9415],[3,"ConstOperand",9413],[4,"FakeReadCause",9413],[4,"FakeReadCause",6579],[3,"FieldDef",9356],[3,"FieldDef",7744],[6,"PolyFnSig",9409],[3,"GenericParamDef",9411],[3,"GenericParamDef",7744],[3,"GenericPredicates",9411],[3,"LocalDecl",9414],[3,"LocalDecl",6579],[3,"BodyWithBorrowckFacts",9416],[4,"Operand",9413],[4,"Operand",6579],[3,"Place",9413],[4,"PointerCoercion",9417],[4,"PointerCast",6579],[4,"Rvalue",9413],[4,"Rvalue",6579],[3,"Statement",9418],[3,"Statement",6579],[3,"Terminator",9419],[3,"Terminator",6579],[3,"VariantDef",9356],[8,"ToString",9384],[3,"CallArgs",6579],[3,"UnsupportedMir",6499],[3,"UnsupportedLocalDecl",6499],[3,"UnsupportedGenericBound",6499],[8,"ExactSizeIterator",9420],[4,"PlaceElem",6579],[6,"LocalDecls",6579],[3,"BorrowIndex",9421],[3,"BorrowData",6579],[3,"Location",6579],[6,"FxIndexMap",9422],[3,"BasicBlock",6579],[3,"Dominators",9423],[3,"PlaceTy",6579],[3,"Instance",6579],[4,"TerminatorKind",6579],[4,"StatementKind",6579],[3,"Body",9414],[4,"LocalKind",6579],[3,"IndexVec",9424],[3,"RegionInferenceContext",9425],[3,"FnSig",7744],[3,"FreeRegion",7744],[3,"AdtDefData",7744],[4,"GenericParamDefKind",7744],[4,"ClauseKind",7744],[3,"TraitPredicate",7744],[3,"ProjectionPredicate",7744],[3,"TyS",7744],[4,"TyKind",7744],[3,"AdtFlags",2982],[4,"BoundRegionKind",7744],[3,"ClosureArgsParts",7744],[8,"CrateStore",28],[4,"PrimTy",35],[6,"ItemLocalMap",35],[6,"GenericBounds",35],[6,"Cache",35],[6,"ItemPredicates",35],[13,"Type",2193],[13,"Expr",2194],[13,"SelfTyAlias",2196],[13,"SelfTyParam",2196],[13,"User",2199],[13,"Transparent",2200],[3,"Ident",2332],[6,"InternMap",2488],[6,"Guard",2488],[8,"SliceInternable",2488],[8,"FromOpt",2699],[6,"Cache",2858],[13,"UnsupportedType",2979],[3,"BoundVar",7744],[13,"Type",5054],[13,"Const",5054],[13,"User",5056],[8,"TypeSuperFoldable",5979],[8,"TypeSuperVisitable",5979],[4,"UnwindAction",6579],[4,"UnOp",6579],[3,"SourceInfo",6579],[3,"SwitchTargets",6579],[13,"Mut",7718],[13,"Call",7719],[13,"Assert",7719],[13,"SwitchInt",7719],[13,"Yield",7719],[13,"FalseEdge",7719],[13,"Drop",7719],[13,"FalseUnwind",7719],[13,"Goto",7719],[3,"RegionVid",7744],[13,"Type",9351],[13,"Const",9351]],"b":[[1093,"impl-Debug-for-SortCtor"],[1094,"impl-Display-for-SortCtor"],[1095,"impl-Display-for-Sort"],[1096,"impl-Debug-for-Sort"],[1097,"impl-Display-for-FuncSort"],[1098,"impl-Debug-for-FuncSort"],[1099,"impl-Debug-for-PolyFuncSort"],[1100,"impl-Display-for-PolyFuncSort"],[1189,"impl-From%3CLocalDefId%3E-for-FluxLocalDefId"],[1192,"impl-From%3CFluxOwnerId%3E-for-FluxLocalDefId"],[1198,"impl-From%3Cusize%3E-for-ItemLocalId"],[1199,"impl-From%3Cu32%3E-for-ItemLocalId"],[1227,"impl-From%3Cusize%3E-for-SortVid"],[1230,"impl-From%3Cu32%3E-for-SortVid"],[1250,"impl-From%3Cusize%3E-for-Name"],[1252,"impl-From%3Cu32%3E-for-Name"],[1374,"impl-Idx-for-ItemLocalId"],[1375,"impl-ItemLocalId"],[1376,"impl-UnifyKey-for-SortVid"],[1377,"impl-Idx-for-SortVid"],[1378,"impl-SortVid"],[1379,"impl-Name"],[1380,"impl-Idx-for-Name"],[2504,"impl-Interned%3C%5BGenericArg%5D%3E"],[2505,"impl-Interned%3C%5BGenericArg%5D%3E"],[2531,"impl-Decodable%3CD%3E-for-Interned%3CT%3E"],[2532,"impl-Decodable%3CD%3E-for-Interned%3C%5BT%5D%3E"],[2547,"impl-Encodable%3CE%3E-for-Interned%3CT%3E"],[2548,"impl-Encodable%3CE%3E-for-Interned%3C%5BT%5D%3E"],[2549,"impl-PartialEq-for-Interned%3CT%3E"],[2550,"impl-PartialEq-for-Interned%3C%5BT%5D%3E"],[2551,"impl-Interned%3CExprS%3E"],[2570,"impl-Pretty-for-Interned%3CT%3E"],[2571,"impl-Debug-for-Interned%3CT%3E"],[2572,"impl-Display-for-Interned%3CT%3E"],[2575,"impl-From%3CVec%3CT%3E%3E-for-Interned%3C%5BT%5D%3E"],[2576,"impl-From%3C%26%5BT%5D%3E-for-Interned%3C%5BT%5D%3E"],[2679,"impl-Interned%3CExprS%3E"],[2680,"impl-Interned%3CTyS%3E"],[2691,"impl-Interned%3CTyS%3E"],[2692,"impl-Interned%3CExprS%3E"],[2759,"impl-Debug-for-Join%3C\'_,+I%3E"],[2760,"impl-Pretty-for-Join%3C\'_,+I%3E"],[3747,"impl-PartialEq-for-Constant"],[3748,"impl-Constant"],[4064,"impl-Debug-for-BinOp"],[4065,"impl-Display-for-BinOp"],[4066,"impl-Pretty-for-BinOp"],[4067,"impl-Debug-for-UnOp"],[4068,"impl-Display-for-UnOp"],[4069,"impl-Pretty-for-UnOp"],[4070,"impl-Display-for-Constant"],[4071,"impl-Debug-for-Constant"],[4079,"impl-Debug-for-ClauseKind"],[4080,"impl-Pretty-for-ClauseKind"],[4088,"impl-Debug-for-Sort"],[4089,"impl-Pretty-for-Sort"],[4090,"impl-Debug-for-FuncSort"],[4091,"impl-Pretty-for-FuncSort"],[4092,"impl-Debug-for-PolyFuncSort"],[4093,"impl-Pretty-for-PolyFuncSort"],[4098,"impl-Pretty-for-VariantSig"],[4099,"impl-Debug-for-VariantSig"],[4100,"impl-Pretty-for-BoundVariableKind"],[4101,"impl-Debug-for-BoundVariableKind"],[4102,"impl-Debug-for-Binder%3CT%3E"],[4103,"impl-Pretty-for-Binder%3CInterned%3CExprS%3E%3E"],[4104,"impl-Pretty-for-Binder%3CFnOutput%3E"],[4105,"impl-Pretty-for-Binder%3CT%3E"],[4108,"impl-Debug-for-FnSig"],[4109,"impl-Pretty-for-FnSig"],[4111,"impl-Pretty-for-Constraint"],[4112,"impl-Debug-for-Constraint"],[4116,"impl-Pretty-for-TyS"],[4117,"impl-Debug-for-TyS"],[4119,"impl-Pretty-for-PtrKind"],[4120,"impl-Debug-for-PtrKind"],[4121,"impl-Pretty-for-Index"],[4122,"impl-Debug-for-Index"],[4123,"impl-Pretty-for-BaseTy"],[4124,"impl-Debug-for-BaseTy"],[4126,"impl-Debug-for-AliasKind"],[4127,"impl-Pretty-for-AliasKind"],[4128,"impl-Debug-for-GenericArg"],[4129,"impl-Pretty-for-GenericArg"],[4135,"impl-From%3Ci32%3E-for-Constant"],[4138,"impl-From%3Ci128%3E-for-Constant"],[4139,"impl-From%3Cbool%3E-for-Constant"],[4140,"impl-From%3Cusize%3E-for-Constant"],[4141,"impl-From%3Cu128%3E-for-Constant"],[4217,"impl-From%3C(Interned%3CExprS%3E,+TupleTree%3Cbool%3E)%3E-for-Index"],[4220,"impl-From%3CValueConst%3E-for-Index"],[4221,"impl-From%3CInterned%3CExprS%3E%3E-for-Index"],[4381,"impl-EarlyBinder%3CGenericPredicates%3E"],[4382,"impl-EarlyBinder%3CT%3E"],[5188,"impl-Pretty-for-EVar"],[5189,"impl-Debug-for-EVar"],[5208,"impl-From%3Cu32%3E-for-EVid"],[5209,"impl-From%3Cusize%3E-for-EVid"],[5227,"impl-EVid"],[5228,"impl-Idx-for-EVid"],[5370,"impl-Add%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5371,"impl-Add%3CRhs%3E-for-Interned%3CExprS%3E"],[5527,"impl-Div%3CRhs%3E-for-Interned%3CExprS%3E"],[5528,"impl-Div%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5648,"impl-Pretty-for-Interned%3CExprS%3E"],[5649,"impl-Debug-for-Interned%3CExprS%3E"],[5653,"impl-Pretty-for-KVar"],[5654,"impl-Debug-for-KVar"],[5655,"impl-Debug-for-Var"],[5656,"impl-Pretty-for-Var"],[5657,"impl-Pretty-for-Path"],[5658,"impl-Debug-for-Path"],[5659,"impl-Pretty-for-Loc"],[5660,"impl-Debug-for-Loc"],[5666,"impl-From%3Ci32%3E-for-Interned%3CExprS%3E"],[5667,"impl-From%3CPath%3E-for-Interned%3CExprS%3E"],[5668,"impl-From%3CName%3E-for-Interned%3CExprS%3E"],[5669,"impl-From%3C%26Interned%3CExprS%3E%3E-for-Interned%3CExprS%3E"],[5689,"impl-From%3CName%3E-for-Loc"],[5690,"impl-From%3CLocal%3E-for-Loc"],[5692,"impl-From%3Cu32%3E-for-KVid"],[5693,"impl-From%3Cusize%3E-for-KVid"],[5695,"impl-From%3Cu32%3E-for-Name"],[5696,"impl-From%3Cusize%3E-for-Name"],[5737,"impl-KVid"],[5738,"impl-Idx-for-KVid"],[5739,"impl-Name"],[5740,"impl-Idx-for-Name"],[5795,"impl-Mul%3CRhs%3E-for-Interned%3CExprS%3E"],[5796,"impl-Mul%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5833,"impl-Sub%3CRhs%3E-for-Interned%3CExprS%3E"],[5834,"impl-Sub%3CRhs%3E-for-%26Interned%3CExprS%3E"],[6529,"impl-From%3C%26Statement%3C\'tcx%3E%3E-for-UnsupportedMir"],[6530,"impl-From%3C%26Terminator%3C\'tcx%3E%3E-for-UnsupportedMir"],[8624,"impl-Debug-for-Const"],[8625,"impl-Pretty-for-Const"],[8628,"impl-Debug-for-Region"],[8629,"impl-Pretty-for-Region"]]},\ -"flux_refineck":{"doc":"Refinement type checking","t":"DHOOFFMAAAAAAAAFFMAADDENINNDDDLLLLMMMFFLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLMLLLLLKLLLLLLLLLLMKLLLMLLLLLLLLLLLLLLLLLLLKLLALLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLFFLLLLLLLLLLLLLLMMMMMMLLLMFLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFMLLLLLLEDNNQNNILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLKKNNNDENNNDIDNNNNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMFFLLLLLMLLLLMALLMMMMMMMLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGNNDGDDDDEDGESSGGNDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLMLLMMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLFMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLMLLLMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLMLLLLMFMMFMMLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLNGNEDNGENDNNLFLLLLLLMMMMLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLMALMLLLLLLLLLLLLLLLLLLLLLLLLLLNNNDDNDNDNISNNEEENNNFLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLKLLLMKLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLDDSSSSDNDDEDNGDESNNDMLLFLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLMMLLMMMMMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLFFADRLLLLLLLLLLLLLLMLLLLLLDDLMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLENNNNNNDEDDDDDDDNDDNLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLMAMMMLLLMLLLLLMMLLLMLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLMFFFFNNNEEDDNMLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLMLMAMLLLLLLLLLLLLLLLLLLLLLLLLLHGHMFFFFFFHGHMFFFDDDDDLLLLMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMAALLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLWWDNGDNQQENIIDDNDDDNDLMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLFLFFKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLMKMLLLMLLLMLLLMAKMMLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLKLLLLLLLLLLLLLLLL","n":["CheckerConfig","DEFAULT_LOCALE_RESOURCE","_define_btys","_sig","call_error","check_fn","check_overflow","checker","constraint_gen","errors","fixpoint_encoding","ghost_statements","invariants","queue","refine_tree","report_errors","ret_error","scrape_quals","sigs","type_env","Checker","CheckerConfig","Guard","Match","Mode","None","Pred","RefineMode","ShapeMode","ShapeResult","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bb_envs","bb_envs","body","bool_int_cast","bool_uint_cast","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_aggregate_operands","check_assert","check_assign_ty","check_basic_block","check_binary_op","check_call","check_cast","check_closure_obligs","check_constant","check_ghost_statement","check_ghost_statements_at","check_goto","check_goto_join_point","check_goto_join_point","check_goto_join_point","check_if","check_len","check_match","check_oblig_fn_trait_pred","check_oblig_generator_pred","check_operand","check_operands","check_overflow","check_rvalue","check_statement","check_successors","check_terminator","check_unary_op","clear","clear","clear","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","config","constr_gen","constr_gen","constr_gen","constr_gen","def_id","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dominators","drop","drop","drop","drop","drop","drop","enter_basic_block","enter_basic_block","enter_basic_block","errors","filterable","filterable","filterable","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics","genv","ghost_stmts","ghost_stmts","init","init","init","init","init","init","init","int_bit_width","int_int_cast","into","into","into","into","into","into","into_bb_envs","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_exit_block","kvars","mode","output","queue","refparams","resume_ty","run","run_in_refine_mode","run_in_shape_mode","scrape_quals","snapshot_at_dominator","snapshot_at_dominator","snapshots","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","uint_bit_width","uint_int_cast","uint_uint_cast","visited","vzip","vzip","vzip","vzip","vzip","vzip","CheckerErrKind","CheckerError","Inference","InvalidGenericArg","Ok","OpaqueStruct","Query","ResultExt","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diagnostic","into_query_param","into_query_param","kind","opaque_struct","span","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","with_span","with_src_info","Assert","Assign","Call","ConstrGen","ConstrReason","Div","Fold","Goto","InferCtxt","KVarGen","Obligations","Other","Overflow","Rem","Ret","Tag","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bty_subtyping","check_constraint","check_constructor","check_fn_call","check_generic_args","check_mk_array","check_pred","check_pred","check_ret","check_type_constr","clone","clone","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_id","def_id","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","dst_span","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evar_gen","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fresh","fresh","fresh_evars","fresh_infer_var","fresh_infer_var_for_hole","fresh_kvar","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generic_arg_subtyping","genv","genv","hash","hash","idx_subtyping","infcx","init","init","init","init","init","insert_obligations","instantiate_generic_args","instantiate_refine_args","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvar_gen","kvar_gen","mk_generator_obligations","mk_obligations","new","new","new","new","obligations","obligs","opaque_subtyping","pack_closure_operands","pop_scope","pred_subtyping","predicates","pretty","project_bty","push_scope","reason","refparams","refparams","region_infcx","region_infcx","scopes","snapshot","solve","span","src_span","subtyping","subtyping","tag","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unify_exprs","vzip","vzip","vzip","vzip","vzip","with_dst","AssertError","AssignError","CallSpanNote","ConditionSpanNote","DivError","FoldError","GotoError","OverflowError","RefineError","RemError","UnknownError","_DERIVE_rustc_errors_AddToDiagnostic_FOR_CallSpanNote","_DERIVE_rustc_errors_AddToDiagnostic_FOR_ConditionSpanNote","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AssertError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AssignError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DivError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FoldError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_GotoError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_OverflowError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RefineError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RemError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnknownError","add_to_diagnostic_with","add_to_diagnostic_with","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call_span_note","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cond","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","msg","new","ret","span","span","span","span","span","span","span","span","span","span","span","span_note","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bindings","Conj","Const","ConstInfo","ConstMap","ExprCtxt","FixpointCtxt","FixpointKVar","KVarDecl","KVarEncoding","KVarStore","KVidMap","Key","MAX","MAX_AS_U32","NameMap","PredSpans","Single","TagIdx","Uif","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_expr_cx","as_u32","as_usize","assume_const_val","backward_checked","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buf","buf","check","clone","clone","clone","clone_into","clone_into","clone_into","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","comments","compare","compare","const_map","const_map","core","dbg_span","decode","def_id","def_span","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encoding","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expr_to_fixpoint","exprs_to_fixpoint","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fixpoint_const_map","fixpoint_kvars","fmt","fmt","fmt","forward_checked","fresh","fresh_inner","fresh_name","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_str","from_u32","from_u32_unchecked","from_usize","func_sort_to_fixpoint","func_to_fixpoint","genv","get","hash","hash","hash_builder","imm","index","index","init","init","init","init","init","init","init","init","init","inner","inner","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvar_to_fixpoint","kvars","kvars","kvid_map","len","len","name","name_gen","name_map","name_map","new","new","new","new","new","orig","partial_cmp","populate_kvid_map","pred_to_fixpoint","pred_to_fixpoint_internal","private","qualifier_to_fixpoint","self_args","sort","sort_to_fixpoint","sorts","sorts","steps_between","sym","tag_idx","tags","tags_inv","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tuple_to_fixpoint","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_name_map","Edge","EdgeMap","Fold","GhostStatement","GhostStatements","Location","LocationMap","Point","PtrToBorrow","StatementsAt","Unblock","Unfold","add_unblocks","all_nested_bodies","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","at","at_edge","at_location","base","base","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compute_ghost_statements","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","extend_at","filterable","filterable","filterable","filterable","fmt","fmt","fold_unfold","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","init","init","init","init","insert","insert_at","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","new","point","points_to","statements_at","stmts","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","write_mir","Closure","Deref","Downcast","Elaboration","Env","Fold","FoldUnfoldAnalysis","Generator","Infer","Len","Mode","NAME","None","Other","PlaceNode","ProjKind","ProjResult","Tuple","Ty","Unfold","add_ghost_statements","basic_block","bb_envs","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_fold_unfolds","collect_fold_unfolds_at_goto","collect_folds_at_ret","collect_folds_at_ret","collect_unfolds","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","discriminants","downcast","downcast","downcast","downcast_struct","drop","drop","drop","drop","drop","drop","drop","field","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fold","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","goto","goto_join_point","goto_join_point","goto_join_point","init","init","init","init","init","init","init","insert_at","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","join","location","map","mode","new","new","operand","projection","projection","projection","projection","queue","ret","ret","ret","run","statement","stmts","terminator","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unfold","visited","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Children","CollectPointerToBorrows","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Map","Place","PlaceIndex","PlaceInfo","PlaceOrValue","PointsToAnalysis","Reachable","Results","State","StateData","TOP","Unreachable","Value","ValueIndex","_marker","add","add","add_ghost_statements","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","analysis","apply","apply_call_return_effect","apply_statement_effect","apply_switch_int_edge_effects","apply_terminator_effect","as_any","as_any","as_any","as_any","as_u32","as_u32","as_usize","as_usize","assign","backward_checked","backward_checked","before_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_value","cache_preorder_invoke","children","clone","clone","clone","clone","clone_from","clone_from","clone_into","clone_into","clone_into","clone_into","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","debug_with_context","debug_with_context_rec","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","entry_sets","eq","eq","eq","eq","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","excluded_locals","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find","first_child","flood","flood_with","fmt","fmt","fmt","fmt","fmt","fmt","fmt_diff_with","fmt_with","fn_sig","for_each_aliasing_place","for_each_tracked_place","for_each_tracked_place_rec","for_each_value_inside","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","get","get_idx","get_tracked_idx","handle_assign","handle_call_return","handle_operand","handle_ref","handle_statement","handle_terminator","hash","hash","index","index","index","index","init","init","init","init","init","init","init","init","init","init","initialize_start_block","inner_values","inner_values_buffer","insert_idx","insert_place_idx","insert_ptr_to_borrows_at","insert_value_idx","into","into","into","into","into","into","into","into","into","into","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","locals","map","map","map","new","new","new","new","new","new","new","next","next","next_sibling","partial_cmp","partial_cmp","places","private","private","proj_elem","projections","register","register_children","steps_between","steps_between","stmts","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","tracked_places","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value_count","value_index","values","visit_block_end","visit_statement_after_primary_effect","visit_statement_before_primary_effect","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","check_invariant","check_invariants","errors","Invalid","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_Invalid","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","span","to_predicate","to_result","try_from","try_into","type_id","vzip","Item","WorkQueue","as_any","bb","borrow","borrow","borrow_mut","borrow_mut","cmp","collect_and_apply","collect_and_apply","compare","compare","deref","deref","deref_mut","deref_mut","dominators","dominators","drop","drop","empty","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","heap","init","init","insert","into","into","into_query_param","into_query_param","partial_cmp","pop","set","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AssumeInvariants","Comment","Conj","ForAll","Guard","Head","No","Node","NodeKind","NodePtr","ParentsIter","RefineCtxt","RefineSubtree","RefineTree","Scope","Snapshot","True","Unpacker","WeakNodePtr","Yes","as_any","as_subtree","as_subtree","assume_invariants","assume_invariants","assume_pred","bindings","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","check_impl","check_pred","children","children_to_fixpoint","clear_children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","contains","contains_all","define_var","define_vars","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downgrade","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold_bty","fold_ty","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","has_free_vars","in_mut_ref","index","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into_fixpoint","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_forall","is_head","is_leaf","iter","kind","name_gen","nbindings","new","new","new","next","next_name_idx","parent","pretty","ptr","ptr","ptr","push_comment","push_guard","push_node","rcx","refine_ctxt_at","refine_ctxt_at_root","refine_ctxt_at_root","replace_evars","replace_evars","root","root","scope","scope","shallow","shallow","simplify","simplify","snapshot","stitch","subtree_at","to_fixpoint","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","tree","tree","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unpack","unpack","unpack_exists","unpack_exists","unpack_inside_mut_ref","unpack_inside_mut_ref","unpacker","upgrade","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","yes","check_overflow","bindings_chain","flatten_conjs","fmt_children","preds_chain","Exists","Indexed","None","Output","Pre","Sig","SigTable","Some","args","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","extend","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","get","get_bin_op_sig","get_un_op_sig","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","map","new","out","overflow","pre","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_ty","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BIN_OPS","E","UN_OPS","arc","mk_bool_bin_ops","mk_neg","mk_not","mk_shift_ops","mk_signed_bin_ops","mk_unsigned_bin_ops","BIN_OPS","E","UN_OPS","arc","mk_neg","mk_signed_bin_ops","mk_unsigned_bin_ops","BasicBlockEnv","BasicBlockEnvData","BasicBlockEnvShape","Generalizer","TypeEnv","alloc","alloc_universal_loc","alloc_with_ty","assign","bindings","bindings","bindings","block_with","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_goto","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","constrs","data","default","default_cx","default_cx","default_cx","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","drop","drop","drop","drop","drop","enter","enter","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold_bty","fold_ty","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generalize","get","init","init","init","init","init","into","into","into","into","into","into_bb_env","into_infer","into_parts","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","join_bty","join_generic_arg","join_idx","join_ty","local_decls","lookup_place","move_place","new","new","new","pack_bty","pack_generic_arg","pack_ty","preds","pretty","projection","ptr_to_borrow","replace_evars","scope","scope","scope","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unblock","unfold","unpack","update","update_path","vars","visit_with","vzip","vzip","vzip","vzip","vzip","","","Binding","Box","CheckerResult","Cursor","Err","Error","Iter","LocKind","Local","LookupKey","LookupMode","LookupResult","NoUnfold","Ok","PlacesTree","Unfold","Unfolder","Universal","Updater","as_any","bindings","block_with","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_root","change_root","checker_conf","clone","clone","clone","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cursor","cursor","cursor","default","default_cx","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","downcast","downcast_enum","downcast_struct","downcast_struct","downcast_struct","downcast_struct","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","field","field","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","flatten","fmap_mut","fmt","fmt","fmt","fmt","fold","fold","fold_field_at","fold_ty","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","get","get_loc","get_loc_mut","has_work","in_ref","index","init","init","init","init","init","init","init","init","init","insert","insertions","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_strg","iter","iter_flatten","kind","loc","loc","lookup","lookup_inner","lookup_unfolding","map","new","new","new","new_ty","next","path","paths","pos","pretty","proj","proj","rcx","remove","reset","run","should_continue","struct_variant","to_owned","to_owned","to_owned","to_path","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_fmap_mut","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_fold_ty","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unblock","unfold","unfold","unfold_box","unpack","unpack","unpack","unpack","unpack_for_downcast","update","update","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_refineck"],[20,"flux_refineck::checker"],[225,"flux_refineck::checker::errors"],[280,"flux_refineck::constraint_gen"],[487,"flux_refineck::errors"],[747,"flux_refineck::fixpoint_encoding"],[1059,"flux_refineck::ghost_statements"],[1183,"flux_refineck::ghost_statements::fold_unfold"],[1391,"flux_refineck::ghost_statements::points_to"],[1776,"flux_refineck::invariants"],[1779,"flux_refineck::invariants::errors"],[1802,"flux_refineck::queue"],[1862,"flux_refineck::refine_tree"],[2210,"flux_refineck::refine_tree::AssumeInvariants"],[2211,"flux_refineck::refine_tree::pretty"],[2215,"flux_refineck::sigs"],[2311,"flux_refineck::sigs::default"],[2321,"flux_refineck::sigs::overflow"],[2328,"flux_refineck::type_env"],[2500,"flux_refineck::type_env::projection"],[2800,"flux_middle::global_env"],[2801,"rustc_span::span_encoding"],[2802,"flux_middle::rty::expr"],[2803,"core::option"],[2804,"rustc_span"],[2805,"flux_common::cache"],[2806,"rustc_span::def_id"],[2807,"core::result"],[2808,"alloc::vec"],[2809,"rustc_hir"],[2810,"core::iter::traits::collect"],[2811,"rustc_middle::arena"],[2812,"flux_middle::rty::expr"],[2813,"flux_middle::rty"],[2814,"rustc_type_ir::ty_kind"],[2815,"flux_middle::rty"],[2816,"flux_middle::rustc::mir"],[2817,"rustc_middle::mir"],[2818,"flux_middle::rustc::mir"],[2819,"flux_middle::rty"],[2820,"core::ops::function"],[2821,"rustc_infer::infer"],[2822,"core::convert"],[2823,"rustc_data_structures::graph::dominators"],[2824,"icu_provider_adapters::filter"],[2825,"core::fmt"],[2826,"core::fmt"],[2827,"flux_middle::rustc::mir"],[2828,"rustc_data_structures::unord"],[2829,"flux_middle::intern"],[2830,"rustc_middle::ty::context"],[2831,"core::any"],[2832,"flux_middle::queries"],[2833,"flux_middle::rty::evars"],[2834,"rustc_errors"],[2835,"rustc_errors::diagnostic_builder"],[2836,"core::any"],[2837,"flux_middle::rty"],[2838,"flux_middle::rty::expr"],[2839,"core::hash"],[2840,"flux_middle::rty"],[2841,"core::ops::function"],[2842,"core::marker"],[2843,"flux_fixpoint::constraint"],[2844,"flux_fixpoint::constraint"],[2845,"rustc_serialize::serialize"],[2846,"flux_fixpoint::constraint"],[2847,"std::io::error"],[2848,"std::io"],[2849,"flux_middle::rustc::ty"],[2850,"rustc_target::abi"],[2851,"rustc_middle::mir::statement"],[2852,"rustc_middle::mir"],[2853,"rustc_middle::mir::terminator"],[2854,"rustc_middle::mir"],[2855,"flux_middle::rty::expr"],[2856,"core::ops::function"],[2857,"alloc::collections::vec_deque"],[2858,"rustc_mir_dataflow::framework::engine"],[2859,"rustc_middle::mir"],[2860,"flux_common::index"],[2861,"alloc::string"],[2862,"flux_middle::rty::fold"]],"d":["","Raw content of Fluent resource for this crate, generated …","","","","","","","","","Encoding of the refinement tree into a fixpoint constraint.","Ghost statements are statements that are not part of the …","","","","","","","","","","","A Guard describes extra “control” information that …","The corresponding place was found to be of a particular …","","No extra information holds, e.g., for a plain goto.","A predicate that can be assumed, e.g., in the branches of …","","","The result of running the shape phase.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This checks obligations related to closures & generators; …","","","","","","","","","","","","","","","","","","","For check_terminator, the output Vec<BasicBlock, Guard> …","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","LocalDefId of the function-like item being checked.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Generics of the function being checked.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Exprs used to instantiate EarlyBinders for signature of …","The type used for the resume argument of a generator.","","","","","","","A snapshot of the refinement context at the end of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Snapshot of the refinement subtree where the obligations …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An alias for additional bindings introduced when ANF-ing …","Generate a conjunction of kvars, one per argument in …","","","","","","","","How an rty::KVar is encoded in the fixpoint constraint","","","","Maximum value the index can take.","Maximum value the index can take, as a u32.","","An alias for a list of predicate (conjuncts) and their …","Generate a single kvar appending the self arguments and …","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Used to report bugs","","DefId of the item being checked. This could be a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generate a fresh kvar under several layers of binders. The …","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","","","","","","","","","Extracts the value of this index as a usize.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","This module implements a points-to analysis for mutable …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","Partial mapping from [Place] to PlaceIndex, where some …","","This index uniquely identifies a place.","This is the information tracked for every PlaceIndex and …","Used as the result for r-value.","This implement a points to analysis for mutable references …","","","The dataflow state for an instance of [ValueAnalysis].","See State.","","","","This index uniquely identifies a tracked place and …","","","","","","","","","","","","","","Applies a single projection element, yielding the …","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","Helper method to interpret target = result.","","","","","","","","","","","","","","","","","","","","","","","","","Precompute the list of values inside root and store it …","Iterate over all direct children.","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns all locals with projections that have their …","","","","","","","","","","","Locates the given place, if it exists in the tree.","The left-most child.","","","","","","","","","","","","Invoke a function on the given place and all places that …","","","Invoke a function on each value in the given place and all …","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","Retrieve the value stored for a place, or ⊤ if it is not …","Retrieve the value stored for a place index, or ⊤ if it …","Retrieve the value stored for a place index if tracked","","","","","","The effect of a successful function call return should not …","","","Extracts the value of this index as a usize.","","","Extracts the value of this index as a usize.","","","","","","","","","","","","","","Low-level method that assigns to a place. This does …","Copies source to target, including all tracked places …","","Low-level method that assigns a value to a place. This …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns a map that only tracks places whose type has …","","","","","","Index of the sibling to the right of this node.","","","","","","The projection used to go from parent to this node (only …","","Register all non-excluded places that have scalar layout.","Potentially register the (local, projection) place and its …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We store a ValueIndex if and only if the placed is tracked …","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A refinement context tracks all the refinement parameters …","A reference to a subtree rooted at a particular node in a …","A refinement tree tracks the “tree-like structure” of …","A ist of refinement variables and their sorts.","A snapshot of a RefineCtxt at a particular point during …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","Defines a fresh refinement variable with the given sort. …","Given a sort that may contain nested tuples, it destructs …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Whether t has any free variables not in this scope","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","Returns true if the node kind is ForAll.","Returns true if the node kind is Head.","","","","","Number of bindings between the root and this node’s …","","","","","","","","","","","","","","","","","","","","","","","Returns the scope at the snapshot if it is still valid or …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We keep a reference to the underlying RefineTree to prove …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This set of signatures does not check for overflow. They …","","","","","","","This set of signatures checks for overflow and underflow. …","","","","","","","","","","","","","","","","","","When checking a borrow in the right hand side of an …","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","join(self, genv, other) consumes the bindings in other, to …","","","","","","","","","","","","","","","","","Converts a pointer ptr(mut, l) to a borrow &mut T for a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","","","","","","","","","Contains the success value","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","In contrast (w.r.t. struct) downcast on enum works as …","downcast on struct works as follows Given a struct …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,31,0,31,31,0,0,0,8,8,8,8,46,47,21,0,0,21,46,47,72,31,8,21,46,47,72,31,8,21,21,21,21,21,21,21,21,21,21,21,21,28,46,47,21,21,21,21,21,21,21,8,21,21,21,21,21,28,46,47,8,8,21,46,47,72,31,8,21,28,21,46,47,21,21,46,47,72,31,8,21,46,47,72,31,8,21,21,46,47,72,31,8,28,46,47,0,21,46,47,72,31,8,8,21,21,46,46,47,47,72,72,31,31,8,8,21,46,47,72,31,8,21,21,21,21,21,21,46,47,72,31,8,0,0,21,46,47,72,31,8,72,21,46,47,72,31,8,21,47,21,21,21,21,21,21,21,21,8,0,21,21,8,21,46,47,72,31,8,21,46,47,72,31,8,21,46,47,72,31,8,21,46,47,72,31,8,21,46,47,72,31,8,0,0,0,21,21,46,47,72,31,8,0,0,83,83,250,83,83,0,27,83,27,83,27,83,27,83,27,83,27,83,27,83,83,27,27,83,83,83,83,27,83,27,83,27,83,27,27,83,27,27,27,27,83,27,83,27,83,27,83,27,83,27,83,250,250,95,95,95,0,0,95,95,95,0,0,0,95,95,95,95,0,11,11,95,95,11,11,95,95,11,95,59,42,89,11,95,59,42,89,11,95,89,89,59,59,59,59,59,89,59,89,11,95,11,95,59,42,89,11,95,59,89,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,11,11,95,11,95,11,11,11,11,11,95,95,95,95,95,89,59,42,89,11,95,11,11,95,100,100,89,89,89,89,59,59,42,42,89,89,11,11,95,95,59,42,89,11,95,89,59,89,11,95,89,59,59,42,89,11,95,89,89,89,59,42,89,11,95,59,42,89,11,95,59,89,0,0,59,42,89,11,89,89,89,59,89,89,42,0,89,89,11,59,89,59,89,89,42,89,59,11,59,89,89,11,95,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,89,59,42,89,11,95,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,113,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,114,114,115,117,110,113,114,118,119,120,121,122,123,114,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,115,117,117,110,110,113,113,114,114,118,118,119,119,120,120,121,121,122,122,123,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,120,114,114,115,117,110,113,114,118,119,120,121,122,123,114,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,0,99,139,0,0,0,0,0,0,0,0,0,0,124,124,0,0,99,0,139,124,124,124,99,99,124,124,99,99,124,139,125,124,124,125,124,125,152,126,124,73,135,99,139,141,125,152,126,124,73,135,99,139,141,251,252,125,124,135,99,124,135,99,124,125,152,126,124,73,135,99,139,141,125,124,124,125,126,253,126,124,125,125,73,125,152,126,124,73,135,99,139,141,125,152,126,124,73,135,99,139,141,125,152,126,124,73,135,99,139,141,124,135,124,139,124,139,124,124,124,124,124,139,139,139,139,139,126,126,125,152,126,124,73,135,99,139,141,0,125,124,124,141,124,73,73,125,125,125,152,152,126,126,124,124,124,124,73,73,135,135,99,99,139,139,141,141,125,152,126,124,73,135,99,139,141,124,124,124,124,0,126,125,73,124,139,253,125,124,124,125,152,126,124,73,135,99,139,141,254,255,125,152,126,124,73,135,99,139,141,125,152,126,124,73,135,99,139,141,125,125,73,125,251,252,141,125,125,126,125,152,126,124,73,152,124,125,125,125,124,0,135,141,0,152,135,124,141,125,125,125,124,135,99,125,152,126,124,73,135,99,139,141,125,152,126,124,73,135,99,139,141,124,125,152,126,124,73,135,99,139,141,125,152,126,124,73,135,99,139,141,126,125,152,126,124,73,135,99,139,141,141,125,152,126,124,73,135,99,139,141,125,45,0,44,0,0,45,0,0,44,0,44,44,68,0,45,45,45,45,45,68,68,68,256,257,68,44,158,45,68,44,158,45,45,45,68,44,158,45,0,68,44,158,45,68,44,158,45,68,44,158,45,45,45,45,45,45,45,45,68,68,44,158,45,44,45,0,68,68,44,44,158,158,45,45,68,44,158,45,45,68,44,158,45,158,68,68,44,158,45,68,44,158,45,68,158,0,68,158,45,68,44,158,45,68,44,158,45,68,44,158,45,68,44,158,45,68,44,158,45,68,44,158,45,68,164,164,164,0,0,169,0,164,0,172,0,163,169,172,0,0,0,164,164,169,0,161,161,161,161,170,171,172,162,169,164,161,170,171,172,162,169,164,162,164,162,164,161,170,171,172,162,169,164,164,162,162,164,164,161,170,171,172,162,169,164,164,161,170,171,172,162,169,164,161,0,162,164,0,161,170,171,172,162,169,164,164,164,161,170,171,172,162,169,164,162,169,164,164,161,161,170,170,171,171,172,172,162,162,169,169,164,164,161,170,171,172,162,169,164,161,161,163,170,171,161,170,171,172,162,169,164,171,161,170,171,172,162,169,164,161,170,171,172,162,169,164,162,164,161,162,161,161,162,161,163,170,171,162,161,163,170,171,161,161,171,161,162,164,161,170,171,172,162,169,164,161,170,171,172,162,169,164,161,170,171,172,162,169,164,161,170,171,172,162,169,164,161,170,171,172,162,169,164,162,161,161,170,171,172,162,169,164,0,0,173,174,173,174,0,187,0,0,0,0,188,0,0,0,187,188,187,0,258,173,174,0,173,173,174,174,173,173,174,174,258,176,177,177,177,177,173,174,188,185,173,174,173,174,185,173,174,198,177,198,199,187,176,194,173,174,188,185,177,198,199,187,176,194,173,174,188,185,177,176,176,173,174,188,185,188,185,173,174,188,185,173,174,177,198,199,187,176,194,173,174,188,185,173,173,174,174,0,0,173,174,177,198,199,187,176,194,173,174,188,185,177,198,199,187,176,194,173,174,188,185,177,198,199,187,176,194,173,174,188,185,173,174,258,173,174,188,185,173,174,188,185,173,173,173,173,173,174,174,174,174,174,188,188,188,188,188,185,185,185,185,185,0,177,198,199,187,176,194,173,174,188,185,176,194,185,185,176,194,173,174,188,185,185,185,177,176,176,176,176,173,174,177,177,198,198,199,199,187,187,176,176,194,194,173,173,173,173,174,174,174,174,188,188,185,185,177,198,199,187,176,194,173,174,188,185,173,174,173,174,173,174,185,185,185,177,177,177,177,177,177,173,174,173,173,174,174,177,198,199,187,176,194,173,174,188,185,177,176,176,185,185,198,185,177,198,199,187,176,194,173,174,188,185,199,177,198,199,187,176,194,173,174,188,185,185,176,177,198,199,177,198,199,176,194,173,174,199,199,194,173,174,176,173,174,194,176,176,176,173,174,198,173,174,188,185,177,198,199,187,176,194,173,174,188,185,177,198,199,187,176,194,173,174,188,185,198,177,198,199,187,176,194,173,174,188,185,177,198,199,187,176,194,173,174,188,185,177,198,199,187,176,194,173,174,188,185,176,194,185,198,198,198,177,198,199,187,176,194,173,174,188,185,0,0,0,0,0,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,0,0,208,208,208,209,208,209,208,208,209,208,208,208,209,208,209,208,209,208,209,209,208,208,208,208,208,208,208,208,209,208,208,209,209,208,209,209,208,209,209,208,209,208,209,208,209,209,208,209,208,209,208,209,208,209,208,209,208,209,0,219,219,219,219,219,216,0,0,0,0,0,0,0,0,0,219,0,0,216,143,79,22,22,212,22,143,79,76,22,49,214,211,219,212,216,217,143,210,79,76,22,49,214,211,219,212,216,217,143,210,22,22,22,214,0,76,210,210,79,76,22,49,214,211,219,212,216,217,143,210,143,143,22,22,79,76,22,49,214,211,219,212,216,217,143,210,210,79,76,22,49,214,211,219,212,216,217,143,210,210,79,76,22,49,214,211,219,212,216,217,143,210,143,143,143,143,143,143,143,79,76,22,49,214,211,219,212,216,217,143,210,79,79,76,76,22,22,143,143,210,212,212,79,79,76,76,22,22,49,49,214,214,211,211,219,219,212,212,216,216,217,217,143,143,210,210,79,76,22,49,214,211,219,212,216,217,143,210,143,212,143,79,76,22,49,214,211,219,212,216,217,143,210,79,76,22,49,214,211,219,212,216,217,143,210,79,217,79,76,22,49,214,211,219,212,216,217,143,210,214,214,214,143,214,210,214,79,212,217,217,210,214,0,22,49,217,22,210,210,212,76,79,76,22,214,79,76,22,49,212,212,79,214,22,0,22,214,210,79,76,22,49,214,211,219,212,216,217,143,210,79,76,22,49,214,211,219,212,216,217,143,210,76,22,212,212,212,212,212,212,79,76,22,49,214,211,219,212,216,217,143,210,79,76,22,49,214,211,219,212,216,217,143,210,79,76,22,49,214,211,219,212,216,217,143,210,22,212,212,212,212,212,22,211,79,76,22,49,214,211,219,212,216,217,143,210,216,259,0,0,0,0,225,225,260,0,0,0,0,260,224,224,260,225,222,224,260,225,222,224,260,225,222,0,224,260,225,222,224,260,225,222,224,260,225,222,222,224,260,225,222,224,224,260,260,225,225,222,222,224,260,225,222,222,0,0,224,260,225,222,224,260,225,222,224,260,225,222,222,222,224,0,224,224,260,225,222,224,260,225,222,225,224,260,225,222,224,260,225,222,224,260,225,222,224,260,225,222,0,0,0,261,0,0,0,0,0,0,0,0,0,262,0,0,0,0,0,0,0,0,23,23,23,23,227,231,23,23,227,74,231,229,23,23,227,74,231,229,23,23,23,23,227,74,231,229,23,231,74,23,227,74,23,227,74,231,229,23,227,74,231,229,23,23,227,74,231,229,23,227,74,227,74,231,229,23,227,227,74,74,23,23,23,229,229,227,227,74,74,231,231,229,229,23,23,227,74,231,229,23,229,23,227,74,231,229,23,227,74,231,229,23,227,23,229,227,74,231,229,23,227,227,227,227,227,23,23,23,227,229,23,227,227,227,229,0,0,23,23,74,227,74,23,227,74,231,229,23,227,74,231,229,23,229,229,229,229,229,229,231,227,74,231,229,23,227,74,231,229,23,227,74,231,229,23,23,23,23,227,23,229,231,227,74,231,229,23,0,0,0,240,0,0,263,247,246,0,240,0,0,0,0,263,0,0,0,240,0,240,235,235,235,243,244,236,241,237,238,239,240,235,243,244,236,241,237,238,239,240,236,237,236,238,239,240,238,239,240,235,243,244,236,241,237,238,239,240,235,236,241,238,238,235,243,244,236,236,241,241,237,238,239,240,235,243,244,236,241,237,238,239,240,0,236,0,0,247,243,244,235,243,244,236,241,237,238,239,240,240,240,240,240,240,240,240,236,241,235,243,244,236,241,237,238,239,240,238,238,238,238,240,240,0,235,241,241,235,235,243,243,244,244,236,236,241,241,237,237,238,238,239,239,240,240,235,243,244,236,241,237,238,239,240,236,238,238,238,236,236,236,235,243,244,236,241,237,238,239,240,238,236,235,243,244,236,241,237,238,239,240,235,243,244,236,241,237,238,239,240,235,238,238,239,246,237,238,238,238,238,236,241,237,241,237,235,238,237,0,246,237,236,238,237,236,236,0,238,239,240,237,235,243,244,236,241,237,238,239,240,235,243,244,236,241,237,238,239,240,238,241,241,241,241,241,236,241,238,235,243,244,236,241,237,238,239,240,235,243,244,236,241,237,238,239,240,235,239,235,243,244,236,241,237,238,239,240,235,236,238,236,247,243,244,236,236,235,241,238,235,243,244,236,241,237,238,239,240],"f":[0,0,0,0,[[1,2,[4,[3]]],5],[[1,6,7,8],[[10,[9,5]]]],0,0,0,0,0,0,0,0,0,[[1,[12,[11]]],[[10,[9,5]]]],[[1,2,[4,[3]]],5],0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],0,0,0,[[17,18],19],[[17,20],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[21,[-1]],22,23,2,[14,[24]]],[[10,[[10,[[12,[[26,[25]]]],27]],27]]],28],[[[21,[-1]],22,23,2,24,29,30],[[10,[31,27]]],28],[[[21,[-1]],22,23,32,19,33],[[10,[9,27]]],28],[[[21,[-1]],22,23,34],[[10,[9,27]]],28],[[[21,[-1]],22,23,2,35,24,24],[[10,[19,27]]],28],[[[21,[-1]],22,23,2,[4,[36]],[38,[37]],[14,[39]],[14,[19]]],[[10,[19,27]]],28],[[[21,[-1]],40,19,41],[[10,[19,27]]],28],[[[21,[-1]],22,42],[[10,[9,27]]],28],[[[21,[-1]],43],[[10,[19,27]]],28],[[[21,[-1]],22,23,44,2],[[10,[9,27]]],28],[[[21,[-1]],22,23,45,2],[[10,[9,27]]],28],[[[21,[-1]],22,23,34,2,34],[[10,[9,27]]],28],[[[21,[-1]],22,23,2,34],[[10,[29,27]]],[]],[[[21,[46]],22,23,2,34],[[10,[29,27]]]],[[[21,[47]],22,23,2,34],[[10,[29,27]]]],[[19,48],[[12,[[9,[34,31]]]]]],[[[21,[-1]],22,23,2,32],[[10,[19,27]]],28],[[19,48],[[12,[[9,[34,31]]]]]],[[[21,[-1]],22,49,50],[[10,[9,27]]],28],[[[21,[-1]],22,49,51],[[10,[9,27]]],28],[[[21,[-1]],22,23,2,24],[[10,[19,27]]],28],[[[21,[-1]],22,23,2,[14,[24]]],[[10,[[12,[19]],27]]],28],0,[[[21,[-1]],22,23,2,52],[[10,[19,27]]],28],[[[21,[-1]],22,23,53],[[10,[9,27]]],28],[[[21,[-1]],22,23,34,2,[12,[[9,[34,31]]]]],[[10,[9,27]]],28],[[[21,[-1]],22,23,54,[4,[2]]],[[10,[[12,[[9,[34,31]]]],27]]],28],[[[21,[-1]],22,23,2,55,24],[[10,[19,27]]],28],[[[21,[-1]],34],9,[]],[[[21,[46]],34],9],[[[21,[47]],34],9],[8,8],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[[-1,1,58,-2,[14,[17]],22,2],59,[],[[60,[36]]]],[[[21,[-1]],22,2],59,28],[[46,1,58,-1,[14,[17]],22,2],59,[[60,[36]]]],[[47,1,58,-1,[14,[17]],22,2],59,[[60,[36]]]],0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[[21,[-1]]],[[62,[34]]],28],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[[21,[-1]],22,34],23,[]],[[[21,[46]],22,34],23],[[[21,[47]],22,34],23],0,[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[8,65],66],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,0,[[[21,[-1]]],68,28],0,[[],61],[[22,69,70,8],23],[[],61],[[],61],[[],61],[[],61],[[],61],[18,71],[[17,18,18],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[72,73],[[75,[7,[75,[34,74]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[21,[-1]],34],29,28],0,0,0,0,0,0,[[1,76,7,[77,[7,68]],-1,[38,[37]],[4,[[78,[17]]]],8],[[10,[9,27]]],28],[[1,7,[77,[7,68]],72,8],[[10,[[9,[79,73]],27]]]],[[1,7,[77,[7,68]],8],[[10,[72,27]]]],0,[[69,[80,[34,[4,[49]]]],34],49],[[[21,[-1]],34],49,28],0,[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[20,71],[[17,20,18],19],[[17,20,20],19],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[83,65],66],[[[10,[-1]]],-1,[]],[-1,-1,[]],[84,83],[[[10,[-1]]],-1,[]],[-1,-1,[]],[85,83],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[[27,86],[[87,[5]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[36,2],27],0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,2],[[10,[27]]],[]],[[-1,33],[[10,[27]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[-1,88,[]],[-1,88,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[89,22,90,90],[[10,[9,83]]]],[[89,22,23,91],[[10,[9,83]]]],[[59,22,[38,[92]],[14,[39]],[14,[19]]],[[10,[19,83]]]],[[59,22,23,[4,[36]],[38,[37]],[14,[39]],[14,[19]]],[[10,[[9,[[94,[93]],42]],83]]]],[[59,36,[14,[39]]],[[10,[9,83]]]],[[59,22,23,[14,[19]],19],[[10,[19,83]]]],[[59,22,-1,95],9,[[60,[17]]]],[[89,22,-1],9,[[60,[17]]]],[[59,22,23,[94,[93]]],[[10,[42,83]]]],[[89,22,23,96,19],[[10,[9,83]]]],[11,11],[95,95],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],0,[[11,11],29],[[95,95],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],0,[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[11,97,65],66],[[11,65],66],[[95,65],66],[[-1,[14,[[78,[98]]]],99],17,[]],[[100,[14,[[78,[98]]]],99],17],[[89,98],17],[[89,98,101],17],[[89,[14,[[78,[98]]]],102],17],[[89,[14,[[78,[98]]]],99],17],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[89,22,103,39,39],[[10,[9,83]]]],0,0,[[11,-1],9,104],[[95,-1],9,104],[[89,22,17,17,[105,[29]]],9],[[59,22,95],89],[[],61],[[],61],[[],61],[[],61],[[],61],[[89,[12,[106]]],9],[[89,[14,[39]]],[[12,[39]]]],[[89,1,[4,[36]]],[[10,[[12,[17]],83]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[1,36,107,36],[[10,[[12,[106]],83]]]],[[1,36,[14,[39]],[14,[17]]],[[10,[[78,[106]],83]]]],[[1,58,36,[14,[17]],-1,2],59,100],[[[78,[106]],49],42],[[1,58,36,[14,[17]],22,100,11],89],[[95,2],11],[89,[[12,[106]]]],0,[[89,22,19,108],[[10,[9,83]]]],[[59,23,[14,[19]]],[[10,[[12,[19]],83]]]],[89,9],[[89,22,[94,[17]],[94,[17]]],9],0,0,[[89,19,36],[[10,[19,83]]]],[[89,22],9],0,0,0,0,0,0,0,[89,[[10,[109,85]]]],0,0,[[59,22,19,19,95],9],[[89,22,19,19],[[10,[9,83]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[89,17,17,29],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[11,[4,[3]]],11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[110,111,-1],9,112],[[113,111,-1],9,112],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[2,[4,[3]]],114],0,[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[115,86],[[87,[-1]]],116],[[117,86],[[87,[-1]]],116],[[114,86],[[87,[-1]]],116],[[118,86],[[87,[-1]]],116],[[119,86],[[87,[-1]]],116],[[120,86],[[87,[-1]]],116],[[121,86],[[87,[-1]]],116],[[122,86],[[87,[-1]]],116],[[123,86],[[87,[-1]]],116],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[63,2,[4,[3]]],114],[[2,[4,[3]]],114],0,0,0,0,0,0,0,0,0,0,0,0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[124,61],124],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[-1,88,[]],[-1,88,[]],[[[125,[-1]]],126,[127,128,129]],[124,130],[124,61],[[[131,[124]],132,133],[[131,[124]]]],[[124,61],[[4,[124]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[125,[-1]],6,[131,[124]],8],[[134,[[12,[-1]]]]],[127,128,129]],[124,124],[135,135],[99,99],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[124,124],136],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[[-1,-2],136,[],[]],[[-1,-2],136,[],[]],0,0,0,0,[-1,124,137],0,[[[125,[-1]]],2,[127,128,129]],[[],73],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[124,-1],9,138],0,[[124,124],29],[[139,139],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[126,17],140],[[126,-1],[[12,[140]]],15],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[1,[[142,[139,141]]]],0,[[124,65],66],[[124,65],66],[[141,65],66],[[124,61],[[4,[124]]]],[[73,[14,[[78,[98]]]],143,99],17],[[73,61,-1,99],17,15],[[[125,[-1]]],144,[127,128,129]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[130,124],[-1,-1,[]],[[[10,[-1]]],-1,[]],[61,124],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[63,[[10,[124]]]],[130,124],[130,124],[61,124],[145,146],[[126,17],147],0,[[73,148],135],[[124,-1],9,104],[[139,-1],9,104],0,[[[125,[-1]],17,98,[12,[[9,[144,149,140]]]]],144,[127,128,129]],[124,61],[124,61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[125,[-1]],150,[12,[[9,[144,149,140]]]]],151,[127,128,129]],0,0,0,0,0,0,0,0,0,[[1,7,73],[[125,[-1]]],[127,128,129]],[[[12,[149]],148],152],[[[77,[153,144]],[142,[139,141]],2],126],[61,124],[[],73],0,[[124,124],[[4,[136]]]],[[[125,[-1]],148],9,[127,128,129]],[[[125,[-1]],17],[[9,[[12,[[9,[144,149,140]]]],[12,[[9,[151,[4,[3]]]]]]]]],[127,128,129]],[[[125,[-1]],17,[12,[[9,[144,149,140]]]],[12,[[9,[151,[4,[3]]]]]]],9,[127,128,129]],0,[[2,[142,[139,141]],154],155],0,0,[98,149],0,0,[[124,124],[[4,[61]]]],0,[[[125,[-1]],-1],124,[156,127,128,129]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,157,[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[126,[14,[17]]],140],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[125,[-1]],153,144,-2],-3,[127,128,129],57,[]],0,0,0,0,0,0,0,0,0,0,0,0,[[68,69],9],[[81,7],[[0,[56]]]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[-1,88,[]],[[68,45],158],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[45,45],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[1,7],[[134,[[77,[7,68]]]]]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[[45,45],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[68,45,-1],9,15],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[44,65],66],[[45,65],66],0,[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[45,-1],9,104],[[],61],[[],61],[[],61],[[],61],[[158,44],9],[[68,45,44],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,7],[[134,[68]]]],0,0,[[68,45],[[0,[56]]]],0,[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[68,81,69,-1],[[159,[9]]],160],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[68,1,69],134],[[[161,[-1]],34,162],134,163],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[162,162],[164,164],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[164,164,32,158],9],[[162,162,158],9],[[162,69,158],9],[[164,32,158],9],[[164,32,158],29],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[164,[[9,[164,29]]]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],0,[[1,165,166,167],[[134,[[12,[164]]]]]],[[162,1,32,167],134],[[164,1,167],[[134,[[9,[164,29]]]]]],[[1,165,166],[[134,[[12,[164]]]]]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[164,1,168],[[134,[[9,[164,29]]]]]],[[164,1],[[134,[[9,[[12,[164]],29]]]]]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[162,65],66],[[169,65],66],[[164,65],66],[164,29],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,[[[161,[-1]],34,34,162],134,163],[[[161,[-1]],34,34,162],[[134,[29]]],[]],[[[161,[170]],34,34,162],[[134,[29]]]],[[[161,[171]],34,34,162],[[134,[29]]]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[171,45,44],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[162,1,162],[[134,[29]]]],[[164,1,164,29],[[134,[[9,[29,29]]]]]],0,0,0,[[1,69,[75,[34,162]],-1],[[161,[-1]]],[]],[69,162],[[[161,[-1]],24,162],134,163],[[[161,[-1]],162,32,172],134,[]],[[[161,[170]],162,32,172],134],[[[161,[171]],162,32,172],134],[[162,1,32],[[134,[169]]]],0,[[[161,[-1]],34,162],9,[]],[[[161,[170]],34,162],9],[[[161,[171]],34,162],9],[[[161,[-1]]],134,163],[[[161,[-1]],53,162],134,163],0,[[[161,[-1]],54,162],134,163],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[162,1,32],[[134,[[9,[164,29]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[173,61],173],[[174,61],174],[[68,1,175,7],134],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],0,[[176,173,168],[[4,[173]]]],[[177,34,178],9],[[177,179,180],9],[[177,34,181,-1],9,182],[[177,183,180],184],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[173,130],[174,130],[173,61],[174,61],[[185,186,187,176],9],[[173,61],[[4,[173]]]],[[174,61],[[4,[174]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[177,175]],[[176,173],9],[[176,173],[[0,[56]]]],[173,173],[174,174],[188,188],[185,185],[[188,188],9],[[185,185],9],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[173,173],136],[[174,174],136],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],136,[],[]],[[-1,-2],136,[],[]],[[-1,-2],136,[],[]],[[-1,-2],136,[],[]],[[[189,[174,-1]],[4,[[189,[174,-1]]]],176,65],66,[156,128]],[[173,63,[189,[174,-1]],[4,[[189,[174,-1]]]],176,65],66,[156,128]],[-1,173,137],[-1,174,137],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[173,-1],9,138],[[174,-1],9,138],0,[[173,173],29],[[174,174],29],[[188,188],29],[[185,185],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[175,[[191,[190]]]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[176,186],[[4,[173]]]],0,[[185,186,176],9],[[185,186,176,[193,[192]]],9],[[176,65],66],[[194,65],66],[[173,65],66],[[174,65],66],[[188,65],66],[[185,65],66],[[185,185,177,65],66],[[185,177,65],66],0,[[176,186,-1],9,195],[[176,-1],9,195],[[176,173,[12,[168]],-1],9,195],[[176,173,-1],9,195],[[173,61],[[4,[173]]]],[[174,61],[[4,[174]]]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[61,173],[[[10,[-1]]],-1,[]],[130,173],[-1,-1,[]],[130,174],[[[10,[-1]]],-1,[]],[-1,-1,[]],[61,174],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[130,173],[130,174],[130,173],[130,174],[61,173],[61,174],[[185,186,176],[[193,[192]]]],[[185,173,176],[[193,[192]]]],[[185,173,176],[[4,[[193,[192]]]]]],[[177,196,197,185],9],[[177,178,185],9],[[177,181],[[4,[173]]]],[[177,196,185],[[193,[192]]]],[[177,179,185],9],[[177,183,185],184],[[173,-1],9,104],[[174,-1],9,104],[173,61],[173,61],[174,61],[174,61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[177,175],9],0,0,[[185,173,187,176],9],[[185,173,173,176],9],[[198,45,185,185],9],[[185,173,[193,[192]],176],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[185,185],29],0,0,0,0,[[176,[4,[[38,[37]]]]],177],[[176,68],198],[[176,173],199],[175,176],[[[4,[168]]],194],[61,173],[61,174],[199,4],0,0,[[173,173],[[4,[136]]]],[[174,174],[[4,[136]]]],0,0,0,0,0,[[176,175,[191,[190]]],9],[[176,173,200,[201,[[9,[173,168,200]]]]],9],[[173,173],[[4,[61]]]],[[174,174],[[4,[61]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],0,[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],0,0,0,[[198,[202,[177]],185,203,34],9],[[198,[202,[177]],179,180],9],[[198,[202,[177]],179,180],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,6,7,204,2,205,8],[[10,[9,5]]]],[[1,6,7,[14,[206]],204,8],[[10,[9,5]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,56,57,[]],[61,-1,[]],[61,-1,[]],[61,9],[[-1,63],[[64,[-2]]],[],[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[],61],[-1,-2,[],[]],[[207,86],[[87,[-1]]],116],[-1,-2,[],[]],0,[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,-2,[],[]],0,0,[-1,88,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[208,208],136],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],136,[],[]],[[-1,-2],136,[],[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],0,0,[61,9],[61,9],[[61,[62,[34]]],209],[[208,208],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,[[],61],[[],61],[[209,34],29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[208,208],[[4,[136]]]],[209,[[4,[34]]]],0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,88,[]],[79,76],[22,76],[[22,19,29],9],0,[[22,-1],9,[[60,[17]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[22,22],[[22,-1,-2,11],9,[[60,[17]]],[[60,[17]]]],[[22,-1,11],9,[[60,[17]]]],0,[[[125,[11]],[14,[210]]],[[4,[[131,[124]]]]]],[[76,49],9],[210,210],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[143,153],29],[[143,-1],29,15],[[22,98],153],[[22,98],17],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[210],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[210,211],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[143,143],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[79,65],66],[[79,97,65],66],[[76,65],66],[[76,97,65],66],[[22,65],66],[[22,97,65],66],[[143,97,65],66],[[143,65],66],[[210,97,65],66],[[212,90],90],[[212,19],19],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[143,-1],29,213],0,[[143,153]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[79,[125,[11]]],[[131,[124]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[214,29],[214,29],[214,29],[143,[[0,[56]]]],0,[210,[[215,[153]]]],0,[[],79],[[22,216],212],[210,217],[217,4],[210,61],0,0,0,0,0,[[22,-1],22,218],[[210,-1],9,[[60,[17]]]],[[210,219],210],0,[[76,49],[[4,[22]]]],[79,22],[76,22],[[22,109],9],[[214,109],9],0,0,[22,143],[49,[[4,[143]]]],[[212,29],212],0,[79,9],[214,9],[22,49],[[[12,[[9,[144,149,140]]]],[131,[124]]],[[131,[124]]]],[[22,49],[[4,[76]]]],[[214,[125,[11]]],[[4,[[131,[124]]]]]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],0,0,[[-1,[94,[-2]]],[[10,[[94,[-2]]]]],[],213],[[-1,90],[[10,[90]]],[]],[[-1,[26,[220]]],[[10,[[26,[220]]]]],[]],[[-1,221],[[10,[221]]],[]],[[-1,98],[[10,[98]]],[]],[[-1,[26,[25]]],[[10,[[26,[25]]]]],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[22,19,216],19],[[212,19],19],[[212,29],212],0,[[212,29],212],0,[[22,216],212],[211,[[4,[210]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,216],0,[210,[[9,[[12,[[9,[153,98]]]],[12,[210]]]]]],[[[14,[210]]],[[12,[210]]]],[[[14,[210]],97,65],66],[210,[[9,[[12,[17]],[12,[210]]]]]],0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[[[222,[-1]],-2],9,[127,128,156],15],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[[222,[-1]],-1,[223,[90]]],224,[127,128,156]],[[35,90,90,29],224],[[55,90,29],224],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[222,[-1]]],[128,127]],0,0,0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[225,[223,[17]]],19],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[],[[0,[15]]]],[[],[[0,[56]]]],[[],[[9,[55,224]]]],[[],[[0,[15]]]],[[],[[0,[56]]]],[[],[[0,[56]]]],0,0,0,0,[[],[[0,[56]]]],[[],[[0,[56]]]],[[],[[0,[56]]]],0,0,0,0,0,[[23,190],9],[[23,192,19],9],[[23,190,19],9],[[23,22,59,32,19],[[10,[9,83]]]],0,0,0,[[23,96,19],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[23,1,22,221,226,32],[[10,[19,83]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[23,22,59,74,34],[[10,[9,83]]]],[23,23],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,[[],23],[81,97],[81,97],[81,97],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[23,1,22,32,167,8],[[10,[9,83]]]],[61,9],[61,9],[61,9],[61,9],[61,9],[[227,228],23],[[74,22,228],23],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[227,65],66],[[227,97,65],66],[[74,65],66],[[74,97,65],66],[[23,97,65],66],[[23,65],66],[[23,22,59,32],[[10,[9,83]]]],[[229,90],90],[[229,19],19],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[229,19],19],[[23,96],19],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[227,73],74],[[23,143],[[10,[227,83]]]],[229,[[9,[[78,[230]],[12,[17]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[227,23],[[10,[29,83]]]],[[227,90,90],90],[[227,39,39],39],[[227,17,17,98,[12,[98]]],17],[[227,19,19],19],0,[[23,1,22,32],[[10,[19,83]]]],[[23,1,22,32],[[10,[19,83]]]],[[143,23],[[10,[227,83]]]],[[],229],[228,23],[[143,90],90],[[143,39],39],[[143,19],19],0,0,0,[[23,22,59,32],[[10,[9,83]]]],[[23,109],9],[74,143],0,0,[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[-1,[94,[-2]]],[[10,[[94,[-2]]]]],[],213],[[-1,90],[[10,[90]]],[]],[[-1,[26,[220]]],[[10,[[26,[220]]]]],[]],[[-1,221],[[10,[221]]],[]],[[-1,98],[[10,[98]]],[]],[[-1,[26,[25]]],[[10,[[26,[25]]]]],[]],[[231,-1],[[10,[231]]],232],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[23,22,32,29],9],[[23,1,22,32,8],[[10,[9,83]]]],[[23,22,29],9],[[227,96,19],9],[[23,96,19],9],0,[[231,-1],[[233,[9]]],234],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,88,[]],0,[[235,19],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[236,96],9],[[237,96],9],0,[238,238],[239,239],[240,240],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,0,[[],238],[81,97],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[236,19],[[10,[19,83]]]],[61,-1,[]],[61,-1,[]],[[241,19],19],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[1,22,204,[14,[39]],167,242],[[10,[[12,[19]],83]]]],[[236,19,167],[[10,[19,83]]]],[[1,22,204,167,[14,[39]],242],[[10,[[12,[19]],83]]]],[[1,204,[14,[39]],242],[[10,[[12,[19]],83]]]],[[-1,204,[14,[39]],242],[[10,[[12,[19]]]]],[]],[[243,204,[14,[39]],242],[[10,[[12,[19]]]]]],[[244,204,[14,[39]],242],[[10,[[12,[19]],245]]]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[240,240],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[236,19,168],[[10,[19,83]]]],[[241,19,168],19],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[238,[[12,[[9,[96,240,19]]]]]],[[238,-1],9,195],[[238,97,65],66],[[238,65],66],[[240,65],66],[[240,97,65],66],[[238,22,59,19,29],[[10,[19,83]]]],[[235,22,59],[[10,[19,83]]]],[[241,[14,[19]],168],[[78,[19]]]],[[241,19],19],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,[[238,96],19],[[238,192],239],[[238,192],239],0,0,[[236,19],[[10,[9,83]]]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[238,192,240,19],9],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[238,[[0,[56]]]],[[238,-1],9,195],0,[-1,192,[]],0,[[238,-1],235,246],[[238,-1,-2],[[10,[235]]],246,247],[[238,1,22,-1],[[10,[235,83]]],246],0,[[1,22,-1,8],236,246],[[237,19],241],[-1,237,246],0,[237,[[4,[248]]]],[235,96],[238,[[12,[96]]]],0,0,[-1,[],[]],0,0,[[238,192],239],[237,9],[[236,238],[[10,[9,83]]]],[236,29],[[1,36],[[10,[[38,[[94,[249]]]],83]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[237,96],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[238,-1],[[10,[9,-2]]],195,[]],[[-1,[94,[-2]]],[[10,[[94,[-2]]]]],[],213],[[-1,90],[[10,[90]]],[]],[[-1,[26,[220]]],[[10,[[26,[220]]]]],[]],[[-1,221],[[10,[221]]],[]],[[-1,98],[[10,[98]]],[]],[[236,19],[[10,[19,83]]]],[[-1,[26,[25]]],[[10,[[26,[25]]]]],[]],[[238,-1],[[10,[238]]],232],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],0,0,[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[235,22,29],9],[[236,19],[[10,[19,83]]]],[[238,1,22,-1,8],[[10,[9,83]]],246],[[236,19,19],192],[[-1,19],19,[]],[[243,19],19],[[244,19],19],[[236,19],19],[[236,19],19],[[235,19],19],[[238,237,19],9],[[238,-1],[[233,[9]]],234],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"GlobalEnv",2800],[3,"Span",2801],[3,"ESpan",2802],[4,"Option",2803],[3,"ErrorGuaranteed",2804],[3,"QueryCache",2805],[3,"LocalDefId",2806],[3,"CheckerConfig",20],[15,"tuple"],[4,"Result",2807],[3,"Tag",280],[3,"Vec",2808],[3,"Arena",2809],[15,"slice"],[8,"IntoIterator",2810],[3,"Arena",2811],[6,"Expr",2802],[4,"IntTy",2812],[6,"Ty",2813],[4,"UintTy",2812],[3,"Checker",20],[3,"RefineCtxt",1862],[3,"TypeEnv",2328],[4,"Operand",2814],[3,"TyS",2813],[3,"Interned",2815],[3,"CheckerError",225],[8,"Mode",20],[15,"bool"],[4,"AssertKind",2814],[4,"Guard",20],[3,"Place",2814],[3,"SourceInfo",2816],[3,"BasicBlock",2816],[4,"BinOp",2814],[3,"DefId",2806],[6,"PolyFnSig",2813],[3,"EarlyBinder",2813],[4,"GenericArg",2813],[4,"CastKind",2814],[3,"Ty",2817],[3,"Obligations",280],[4,"Constant",2814],[4,"GhostStatement",1059],[4,"Point",1059],[3,"ShapeMode",20],[3,"RefineMode",20],[3,"SwitchTargets",2818],[3,"Snapshot",1862],[3,"FnTraitPredicate",2813],[3,"GeneratorObligPredicate",2813],[4,"Rvalue",2814],[3,"Statement",2814],[3,"Terminator",2814],[4,"UnOp",2818],[8,"Iterator",2819],[8,"FnOnce",2820],[3,"InferCtxt",2821],[3,"ConstrGen",280],[8,"Into",2822],[15,"usize"],[3,"Dominators",2823],[15,"str"],[3,"RequestFilterDataProvider",2824],[3,"Formatter",2825],[6,"Result",2825],[3,"QueryInfo",2826],[3,"GhostStatements",1059],[3,"Body",2814],[3,"FnSig",2813],[15,"u64"],[3,"ShapeResult",20],[3,"KVarStore",747],[3,"BasicBlockEnv",2328],[6,"FxHashMap",2827],[3,"RefineSubtree",1862],[3,"UnordMap",2828],[6,"List",2815],[3,"RefineTree",1862],[3,"IndexVec",2829],[3,"TyCtxt",2830],[3,"TypeId",2831],[4,"CheckerErrKind",225],[4,"QueryErr",2832],[3,"UnsolvedEvar",2833],[3,"Handler",2834],[3,"DiagnosticBuilder",2835],[8,"Any",2831],[3,"InferCtxt",280],[4,"BaseTy",2813],[4,"Constraint",2813],[6,"PolyVariant",2813],[3,"FnOutput",2813],[3,"Binder",2813],[4,"ConstrReason",280],[3,"Path",2802],[3,"PPrintCx",2836],[4,"Sort",2813],[4,"KVarEncoding",747],[8,"KVarGen",280],[4,"InferMode",2837],[4,"HoleKind",2802],[4,"Variance",2838],[8,"Hasher",2839],[4,"TupleTree",2813],[3,"Clause",2813],[6,"GenericArgs",2813],[3,"AliasTy",2813],[3,"EVarSol",2833],[3,"ConditionSpanNote",487],[3,"Diagnostic",2840],[8,"Fn",2820],[3,"CallSpanNote",487],[3,"RefineError",487],[3,"GotoError",487],[8,"EmissionGuarantee",2835],[3,"AssignError",487],[3,"DivError",487],[3,"RemError",487],[3,"AssertError",487],[3,"FoldError",487],[3,"OverflowError",487],[3,"UnknownError",487],[3,"TagIdx",747],[3,"FixpointCtxt",747],[3,"ExprCtxt",747],[8,"Hash",2839],[8,"Eq",2841],[8,"Copy",2842],[15,"u32"],[4,"Constraint",2843],[3,"ConstName",2843],[4,"Constant",2843],[6,"QueryResult",2832],[3,"KVarDecl",747],[4,"Ordering",2841],[8,"Decoder",2844],[8,"Encoder",2844],[4,"Key",747],[4,"Expr",2843],[3,"ConstInfo",747],[6,"FxIndexMap",2845],[3,"Scope",1862],[3,"Name",2843],[3,"PolyFuncSort",2813],[3,"PolyFuncSort",2843],[4,"Func",2843],[3,"KVid",2802],[4,"Sort",2843],[3,"KVar",2802],[4,"Pred",2843],[3,"FixpointKVar",747],[3,"Name",2802],[3,"Qualifier",2813],[3,"Qualifier",2843],[8,"Debug",2825],[3,"String",2846],[3,"StatementsAt",1059],[6,"Result",2847],[8,"Write",2848],[3,"FoldUnfoldAnalysis",1183],[3,"Env",1183],[8,"Mode",1183],[4,"PlaceNode",1183],[3,"AdtDef",2817],[6,"GenericArgs",2817],[3,"VariantIdx",2849],[3,"FieldIdx",2849],[4,"ProjResult",1183],[3,"Infer",1183],[3,"Elaboration",1183],[4,"ProjKind",1183],[3,"PlaceIndex",1391],[3,"ValueIndex",1391],[3,"Body",2816],[3,"Map",1391],[3,"PointsToAnalysis",1391],[4,"CallReturnPlaces",2850],[3,"Statement",2851],[3,"Location",2816],[4,"Operand",2818],[8,"SwitchIntEdgeEffects",2852],[3,"Terminator",2850],[4,"TerminatorEdges",2850],[3,"State",1391],[3,"PlaceRef",2851],[4,"PlaceOrValue",1391],[4,"StateData",1391],[3,"IndexSlice",2853],[3,"Local",2816],[3,"BitSet",2854],[4,"Loc",2802],[4,"FlatSet",2855],[3,"PlaceInfo",1391],[8,"FnMut",2820],[3,"Place",2818],[4,"Rvalue",2818],[3,"CollectPointerToBorrows",1391],[3,"Children",1391],[3,"Ty",2856],[3,"VecDeque",2857],[3,"Results",2858],[3,"BasicBlockData",2816],[3,"AdtDef",2813],[3,"Invariant",2813],[3,"Expr",2837],[3,"Invalid",1779],[3,"Item",1802],[3,"WorkQueue",1802],[3,"NodePtr",1862],[3,"WeakNodePtr",1862],[3,"Unpacker",1862],[8,"TypeFoldable",2859],[3,"Node",1862],[3,"IndexGen",2860],[4,"AssumeInvariants",1862],[3,"ParentsIter",1862],[8,"ToString",2846],[4,"NodeKind",1862],[3,"ExprS",2802],[4,"Region",2817],[3,"SigTable",2215],[15,"array"],[3,"Sig",2215],[4,"Output",2215],[4,"Mutability",2812],[3,"BasicBlockEnvShape",2328],[6,"LocalDecls",2814],[3,"Generalizer",2328],[4,"BoundVariableKind",2813],[3,"BasicBlockEnvData",2328],[8,"FallibleTypeFolder",2859],[4,"ControlFlow",2861],[8,"TypeVisitor",2859],[3,"LookupResult",2500],[3,"Unfolder",2500],[3,"Cursor",2500],[3,"PlacesTree",2500],[3,"Binding",2500],[4,"LocKind",2500],[3,"Updater",2500],[3,"Index",2813],[3,"Unfold",2500],[3,"NoUnfold",2500],[15,"never"],[8,"LookupKey",2500],[8,"LookupMode",2500],[4,"PlaceElem",2814],[3,"VariantSig",2813],[8,"ResultExt",225],[6,"Bindings",747],[6,"PredSpans",747],[6,"ConstMap",747],[6,"NameMap",747],[6,"KVidMap",747],[6,"LocationMap",1059],[6,"EdgeMap",1059],[6,"Results",1391],[13,"Yes",2210],[4,"Pre",2215],[6,"E",2311],[6,"E",2321],[6,"CheckerResult",2500]],"b":[[250,"impl-From%3CQueryErr%3E-for-CheckerErrKind"],[253,"impl-From%3CUnsolvedEvar%3E-for-CheckerErrKind"],[373,"impl-Pretty-for-Tag"],[374,"impl-Debug-for-Tag"],[887,"impl-Debug-for-TagIdx"],[888,"impl-Display-for-TagIdx"],[900,"impl-From%3Cu32%3E-for-TagIdx"],[903,"impl-From%3Cusize%3E-for-TagIdx"],[935,"impl-TagIdx"],[936,"impl-Idx-for-TagIdx"],[1597,"impl-From%3Cusize%3E-for-PlaceIndex"],[1599,"impl-From%3Cu32%3E-for-PlaceIndex"],[1601,"impl-From%3Cu32%3E-for-ValueIndex"],[1604,"impl-From%3Cusize%3E-for-ValueIndex"],[1636,"impl-PlaceIndex"],[1637,"impl-Idx-for-PlaceIndex"],[1638,"impl-Idx-for-ValueIndex"],[1639,"impl-ValueIndex"],[1994,"impl-Debug-for-RefineTree"],[1995,"impl-Pretty-for-RefineTree"],[1996,"impl-Debug-for-RefineSubtree%3C\'_%3E"],[1997,"impl-Pretty-for-RefineSubtree%3C\'_%3E"],[1998,"impl-Debug-for-RefineCtxt%3C\'_%3E"],[1999,"impl-Pretty-for-RefineCtxt%3C\'_%3E"],[2000,"impl-Pretty-for-Scope"],[2001,"impl-Debug-for-Scope"],[2389,"impl-Debug-for-BasicBlockEnvShape"],[2390,"impl-Pretty-for-BasicBlockEnvShape"],[2391,"impl-Debug-for-BasicBlockEnv"],[2392,"impl-Pretty-for-BasicBlockEnv"],[2393,"impl-Pretty-for-TypeEnv%3C\'_%3E"],[2394,"impl-Debug-for-TypeEnv%3C\'_%3E"],[2621,"impl-Pretty-for-PlacesTree"],[2622,"impl-Debug-for-PlacesTree"],[2623,"impl-Debug-for-LocKind"],[2624,"impl-Pretty-for-LocKind"]]},\ +"flux_metadata":{"doc":"","t":"DDDHRRLLMMLLLLLLLLLLLALLLLLLLLLLLFAFLLLFLMLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLMLMLLLDALLLLLFLLLALLLLLLLLMLLLLLLLLLLLLLLMLLLLLLLDRLLLLLLMLLLLLLLLLMLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLFOLLLLLLLMLLMMLLLLLLML","n":["AdtMetadata","CStore","CrateMetadata","DEFAULT_LOCALE_RESOURCE","METADATA_HEADER","METADATA_VERSION","adt","adt_def","adt_def","adts","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","decode","decode","decoder","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode","encode","encode_metadata","encoder","filename_for_metadata","filterable","filterable","filterable","flux_metadata_extern_location","fn_sig","fn_sigs","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","load","meta","new","refined_by","refined_bys","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","type_of","variants","variants","vzip","vzip","vzip","DecodeContext","__ty_decoder_impl","borrow","borrow_mut","cached_ty_for_shorthand","collect_and_apply","decode_alloc_id","decode_crate_metadata","deref","deref_mut","drop","errors","filterable","from","from","from_cycle_error","init","interner","into","into_query_param","opaque","peek_byte","position","read_i128","read_i16","read_i32","read_i64","read_isize","read_raw_bytes","read_u128","read_u16","read_u32","read_u64","read_u8","read_usize","tcx","to_predicate","to_result","try_from","try_into","type_id","vzip","with_position","DecodeFileError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DecodeFileError","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","err","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","new","path","to_predicate","to_result","try_from","try_into","type_id","vzip","EncodeContext","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_bool","emit_char","emit_i128","emit_i16","emit_i32","emit_i64","emit_i8","emit_isize","emit_raw_bytes","emit_str","emit_u128","emit_u16","emit_u32","emit_u64","emit_u8","emit_usize","encode_alloc_id","encode_metadata","encoder_methods","filterable","from","from","from_cycle_error","init","into","into_query_param","opaque","position","predicate_shorthands","predicate_shorthands","tcx","to_predicate","to_result","try_from","try_into","type_id","type_shorthands","type_shorthands","vzip"],"q":[[0,"flux_metadata"],[87,"flux_metadata::decoder"],[130,"flux_metadata::decoder::errors"],[155,"flux_metadata::encoder"],[201,"rustc_span::def_id"],[202,"core::option"],[203,"flux_middle::rty"],[204,"core::iter::traits::iterator"],[205,"core::ops::function"],[206,"rustc_type_ir::codec"],[207,"rustc_type_ir::codec"],[208,"std::path"],[209,"rustc_middle::ty::context"],[210,"rustc_session::config"],[211,"icu_provider_adapters::filter"],[212,"rustc_span::def_id"],[213,"rustc_query_system::query::job"],[214,"rustc_span"],[215,"flux_errors"],[216,"flux_middle::fhir"],[217,"core::any"],[218,"flux_middle::rty"],[219,"rustc_middle::mir::interpret"],[220,"rustc_errors"],[221,"rustc_errors::diagnostic_builder"],[222,"rustc_errors::diagnostic_builder"],[223,"rustc_middle::ty::sty"],[224,"rustc_hash"]],"d":["","","","Raw content of Fluent resource for this crate, generated …","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","For now it only store type of aliases","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,1,1,3,8,1,8,3,1,8,3,1,8,3,8,3,0,1,8,3,1,8,3,1,8,3,8,3,0,0,0,1,8,3,0,1,8,1,1,8,8,3,3,1,8,3,1,8,3,1,8,3,1,8,3,1,1,8,1,8,1,8,3,1,8,3,1,8,3,1,8,3,1,8,3,1,8,1,3,1,8,3,0,0,33,33,33,33,33,0,33,33,33,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,0,0,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,0,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51],"f":[0,0,0,0,0,0,[[1,2],[[4,[3]]]],[[1,2],[[4,[5]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,6,7,[]],[[-1,-2],-3,6,7,[]],[[-1,-2],-3,6,7,[]],[-1,8,9],[-1,3,9],0,[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,-1,[]],[10,11],[10,11],[10,11],[[8,-1],11,12],[[3,-1],11,12],[[13,14],11],0,[15,16],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[-1,17],[[18,[-2]]],[],[]],[[15,19],[[4,[20]]]],[[1,2],[[4,[[22,[21]]]]]],0,[[[23,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[23,[-1]]],-1,[]],[-1,-1,[]],[[[23,[-1]]],-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[[],10],[[],10],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[15,27],1],0,[13,8],[[1,2],[[4,[28]]]],0,[[-1,15],-2,[],[]],[[-1,15],-2,[],[]],[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[-1,29,[]],[-1,29,[]],[[1,2],[[4,[[22,[30]]]]]],0,[[1,2],[[4,[[32,[[22,[[25,[31]]]]]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[33,10,-1],34,7],[[-1,-2],-3,6,7,[]],[33,35],[[15,27,14],[[4,[8]]]],[10,-1,[]],[10,-1,[]],[10,11],0,[[-1,17],[[18,[-2]]],[],[]],[[[23,[-1]]],-1,[]],[-1,-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[33],[-1,-2,[],[]],[-1,-2,[],[]],0,[33,36],[33,10],[33,37],[33,38],[33,39],[33,40],[33,41],[[33,10],[[25,[36]]]],[33,42],[33,43],[33,44],[33,45],[33,36],[33,10],0,[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[-1,-2,[],[]],[[33,10,-1],-2,7,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,6,7,[]],[10,-1,[]],[10,-1,[]],[10,11],0,[[-1,17],[[18,[-2]]],[],[]],[[[23,[-1]]],-1,[]],[-1,-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[-1,-2,[],[]],[[46,47],[[48,[-1]]],49],[-1,-2,[],[]],[[14,50],46],0,[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,6,7,[]],[10,-1,[]],[10,-1,[]],[10,11],[[51,52],11],[[51,53],11],[[51,37],11],[[51,38],11],[[51,39],11],[[51,40],11],[[51,54],11],[[51,41],11],[[51,[25,[36]]],11],[[51,17],11],[[51,42],11],[[51,43],11],[[51,44],11],[[51,45],11],[[51,36],11],[[51,10],11],[[51,35],11],[[13,14],11],0,[[-1,17],[[18,[-2]]],[],[]],[[[23,[-1]]],-1,[]],[-1,-1,[]],[[-1,[25,[24]],26],-2,[],[]],[[],10],[-1,-2,[],[]],[-1,-2,[],[]],0,[51,10],[51,[[56,[55,10]]]],0,0,[[-1,15],-2,[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,[[23,[-2]]],[],[]],[-1,29,[]],[51,[[56,[34,10]]]],0,[-1,-2,[],[]]],"c":[],"p":[[3,"CStore",0],[3,"DefId",201],[3,"AdtMetadata",0],[4,"Option",202],[3,"AdtDef",203],[8,"Iterator",204],[8,"FnOnce",205],[3,"CrateMetadata",0],[8,"TyDecoder",206],[15,"usize"],[15,"tuple"],[8,"TyEncoder",206],[3,"GlobalEnv",207],[3,"Path",208],[3,"TyCtxt",209],[4,"OutFileName",210],[15,"str"],[3,"RequestFilterDataProvider",211],[3,"CrateNum",201],[3,"PathBuf",208],[6,"PolyFnSig",203],[3,"EarlyBinder",203],[4,"Result",212],[3,"QueryInfo",213],[15,"slice"],[3,"ErrorGuaranteed",214],[3,"FluxSession",215],[3,"RefinedBy",216],[3,"TypeId",217],[6,"PolyTy",203],[6,"PolyVariant",203],[4,"Opaqueness",203],[3,"DecodeContext",87],[3,"Ty",218],[3,"AllocId",219],[15,"u8"],[15,"i128"],[15,"i16"],[15,"i32"],[15,"i64"],[15,"isize"],[15,"u128"],[15,"u16"],[15,"u32"],[15,"u64"],[3,"DecodeFileError",130],[3,"Handler",220],[3,"DiagnosticBuilder",221],[8,"EmissionGuarantee",221],[3,"Error",222],[3,"EncodeContext",155],[15,"bool"],[15,"char"],[15,"i8"],[6,"PredicateKind",223],[6,"FxHashMap",224]],"b":[]},\ +"flux_middle":{"doc":"This crate contains common type definitions that are used …","t":"HOOOOOOOOOOOOAAAAAAAAAOFFFFFIGKKKKKNNNNNNNDNDNNEENNNNNGNENNDNENNDNNNNDNNNNDNEDDNNNEEEDDDENDEDNEEGDEDDNNNNDNNNNNENNNNDGGNNNENNENNDDNSSSSSSDNNNNNNDEDNNNNNNNNDNNEDNDDNNENNNEDNNNNNNNEDDENNNNNNNNNEEDGDNNDENGSNNENNDDENNNDNNENNNNNNDDDEDDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLLLLLLLLLLLLMLLLLLLLLLLLLLMMMMLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLMMMMMMMMLMLAMMMMMLMMLMMMMMMLLLLLLLLLLMLMMLMMMMMMMMMMMMMMMMLLLLMMMMMMMLLMLMMMMMLLMMMLLMMMMLLMMMMMMMMMMMMLLLLLMLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMDLLLLLLLLALLLLLLLLLLLLLLFLLLLLLFLLLLLLLLLLLFFLFLLLLLMMMMLLLLLLLDRLLLMLLLLLLLLLLLLMMLLLLLLILLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLMLLLLLMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGGDIDGILLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLCCLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMLMMLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNINDEDDINDLLLLMLLLLLLLLLLLLLLLLLMMFLLOLLLLLLLLLLLLLLLLLLLLKLLLLOLLLLLLLLLLLLLLLKLMLMLMMLMMOLLLLLLLLLLLLLLLMOLMLLLLOMFMMOLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLOOGNNNDDEGNLMMLLLMLLLLMMLLLLLLLLMMLLLLLLLLLOLLLLLMMLLLLLLLLLLLMMLMMLLLLLLLLLLLMMLMLMLMLMLMMMLMMFLLLLLLLLLLLLLLLLLMMLMLMMLLLMMMNNNDDDNEDNNNNENNENDNNNNNOCEDENNNNNDENEDCNNNENNEGNNDDNNNDCNCDNDNNGNENNRNOENNNDDNDNCNDDNDNDEGDEDDNNNENNNNNRHNNNDNCNNNOEDNDNDNNNNNENNNNNNNNNEDNNNNNSNNGENDNNNDDNGDGGGNNNNDNEDNNNNONGDCNDNNNEEDNNNNDDNNNNNNEGNEDNNNGNNNNNHNOEENNNNENNNDDSLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLAMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLMMMMMMMLLLLLLLLLLLLAMMLLMLLLMMMLLLMMMMMMMLMAMMMMLMMALLLLMLLMALLLLLMLLMMMLMMLLLLLLMMMMLLLLLLLLLLLLLLLLALLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLMMMMLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMDDDDEDSSHNNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNENNNENNDNNNGNEDNNNNNENNNNDNDNNENNNSSSSNNDNNNNDNNNDNNNENENNLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLMMLLLLLLLLLLLLLLLLLLLLLLAMMLMLLMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNELLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLQQIIIIIIILLLLLLLLLLLLLLLLLKLLLLLLKKLLLLLKLDDDLLLLLLLLLLLLLMMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLEDNDNNMLLFLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLFFFFFFFFLLLMLMLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLMLMLLLLLLLMLLLLFLLFLLLLFLLLLLLLLLLLLDIDDDDLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLMLMKLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAADDLLLLLLLLLLLLMLLALLLLLLLLLLLLLLLLFLFLLLFLFFLFFLLFFFFFFFFLLLFLFLLLFFFLMLMMMMLLLLLLLLLLLLLDDDRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMMMMLLLLLLLLLLLLLLMLLLLLLNNNENNNNENDDENNNNDNDENNDNENNNNENNNNNNNNNNNNNNRNENNNDNNNNNNNNDNNNNNNDDGEDNNNNNNNNNNENDENDNENSRNNNNNERNNNNDDENNNDNNDENNENNNNNENNEDNMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMMMLMLLLLLLLLLFLLFMMMMMMLMLLLLLLLLLLLMLFMLLMMMMLMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMNDDNEDNDNDEDENNNNDENDDENNNNDDDNNDNENDDDDEGDEDDNNNNNNENNNNENNNDNNDGNNDNNNNNNNENDDNNNDDNDNEDNNGNNNNNNENNDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLMLMLMMMLMMMMMLLLLLLLLLLLLFMMMLLMLLLLLLLLLLLALLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMIK","n":["DEFAULT_LOCALE_RESOURCE","_Bool","_Float","_Int","_Ref","_Uint","_define_scoped","_format_args_cx","_impl_debug_with_default_cx","_join","_parens","_w","_with_cx","const_eval","cstore","fhir","global_env","intern","pretty","queries","rty","rustc","walk_list","scalar_int_to_constant","scalar_int_to_rty_constant","scalar_to_bits","scalar_to_int","scalar_to_uint","CrateStore","CrateStoreDyn","adt_def","fn_sig","refined_by","type_of","variants","Abs","Add","And","App","App","Arr","Array","ArrayLen","At","BaseTy","BaseTy","BaseTy","BaseTyKind","BinOp","BinaryOp","BitVec","Bool","Bool","Bool","Cache","Char","Coercion","Colon","Const","ConstInfo","Constr","Constraint","Def","Def","Defn","Defn","Div","Dot","EVar","EnumDef","Eq","Error","Exists","Explicit","Expr","Expr","ExprKind","FhirId","FieldDef","Float","Flux","Flux","FluxItem","FluxLocalDefId","FluxOwnerId","FnInfo","FnOutput","FnSig","Func","Func","FuncDecl","FuncKind","FuncSort","Ge","GenericArg","GenericBound","GenericBounds","GenericParam","GenericParamKind","GenericPredicates","Generics","Global","Gt","Hole","Hole","Ident","IfThenElse","Iff","Imp","Indexed","Infer","InferMode","Inject","Int","Int","Int","ItemLocalId","ItemLocalMap","ItemPredicates","KVar","LangItemTrait","Le","Lifetime","Lifetime","Lifetime","Lit","Literal","Loc","LocalTableInContext","LocalTableInContextMut","Lt","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Map","Map","Maybe","Mod","Mul","Mut","Mut","MutTy","Mutability","Name","Ne","Neg","Never","None","Not","Not","Opaque","OpaqueDef","OpaqueTy","Or","Param","ParamKind","Path","Path","PolyFuncSort","PolyTraitRef","Pound","Pred","PrimTy","PrimTy","Project","Ptr","QPath","Qualifier","Qualifier","RawPtr","Real","Real","Record","Record","Ref","RefineArg","RefineParam","RefinedBy","Res","Resolved","Resolved","Rust","Rust","SelfTyAlias","SelfTyParam","Set","Shr","Slice","Sort","SortCtor","SortDecl","SortDecls","SortVid","SplTy","Str","StructDef","StructKind","Sub","SurfaceIdent","TRUE","Thy","Trait","TraitBoundModifier","Transparent","Tuple","Ty","TyAlias","TyKind","Type","Type","Type","TypeBinding","Uif","Uint","UnOp","UnaryOp","Unit","User","Var","Var","Var","VariantDef","VariantIdx","VariantRet","WeakKind","WfckResults","WhereBoundPredicate","Wildcard","add","add","add","add_trusted","all_params","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args","args","args","arity","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_path","as_path","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","backward_checked","backward_checked","backward_checked","base","base","bindings","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bound_generic_params","bounded_ty","bounds","bounds","bty","buf","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","coercions","coercions","coercions_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","const_by_name","consts","consts","data","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","default","default_infer_mode","defn","defns","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","descr","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_bound","early_bound_params","early_bound_sorts","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","ensures","enums","enums","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expect_type","expr","expr","externs","fhir_id","fhir_id","fhir_id","field_index","field_sort","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","flux_items","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fn_quals","fn_quals","fn_sig","fn_sigs","fns","forward_checked","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_index","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","fsort","func_decl","func_decls","func_decls","generics","get","get_enum","get_extern","get_flux_item","get_fn_quals","get_fn_sig","get_generic_predicates","get_generics","get_opaque_ty","get_param","get_refine_params","get_struct","get_type_alias","global","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","ident","ident","idx","in_use","index","index","index","index","index","index","index","index_params","index_params","index_sorts","infer_mode","infer_mode","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","inputs","inputs_and_output","insert","insert_const","insert_defn","insert_enum","insert_extern","insert_fn_quals","insert_fn_sig","insert_func_decl","insert_generic_predicates","insert_generics","insert_opaque_tys","insert_qualifier","insert_refined_by","insert_sort_decl","insert_struct","insert_theory_func","insert_theory_funcs","insert_type_alias","instantiate","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic_arg","into_diagnostic_arg","into_diagnostic_arg","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","invariants","is_base_generic","is_bool","is_bool","is_implicit","is_numeric","is_opaque","is_pred","is_trusted","is_wildcard","kind","kind","kind","kind","kind","kind","kind","len","lifetime_holes","lifetime_holes","lifetime_holes_mut","lift","lifted","lifted","lifted","lifted","local_id","map","map","mutbl","name","name","name","name","name","name","name","new","new","new","new","new","new","new","new","new","node_sorts","node_sorts","node_sorts_mut","opaque_tys","opaque_tys","output","output","owner","owner","owner","owner","owner_id","owner_id","owner_id","params","params","params","params","params","params","params","params","partial_cmp","partial_cmp","partial_cmp","partial_cmp","predicates","predicates","predicates","private","private","private","private","qualifiers","recover","refine","refined_by","refined_by","requires","res","ret","ret","set","skip_binders","sort","sort","sort","sort_decl","sort_decls","sort_decls","sort_params","sorts","source_info","span","span","span","span","span","span","span","span","span","span","span","span","span","span","steps_between","steps_between","steps_between","storage","structs","structs","subst","sym","sym","tag","term","to_debug_str","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","to_string","trait_def_id","trait_ref","trivial","trusted","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","ty","ty","type_aliases","type_aliases","type_holes","type_holes","type_holes_mut","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unify_values","val","val","variants","visit","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_refined_by","default","expr","is_binder","alias_to","is_trait_impl","trait_","name","fields","LiftCtxt","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_err","emit_unsupported","errors","filterable","from","from","from_cycle_error","generic_params_into_args","init","insert_opaque_ty","into","into_query_param","lift_array_len","lift_enum_variant","lift_enum_variant_id","lift_field_def","lift_field_def_id","lift_fn","lift_fn_ret_ty","lift_fn_sig","lift_generic_args","lift_generic_bound","lift_generic_param","lift_generic_predicates","lift_generics","lift_generics","lift_generics_inner","lift_generics_with_predicates","lift_lifetime","lift_mut_ty","lift_opaque_ty","lift_path","lift_path_to_ty","lift_poly_trait_ref","lift_predicates","lift_qpath","lift_refined_by","lift_self_ty","lift_ty","lift_type_alias","lift_type_bindings","lift_variant_ret","lift_variant_ret_inner","lift_where_predicate","new","opaque_tys","owner","sess","tcx","to_predicate","to_result","try_from","try_into","type_id","vzip","with_new_owner","UnsupportedHir","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedHir","borrow","borrow_mut","collect_and_apply","def_kind","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","new","note","span","to_predicate","to_result","try_from","try_into","type_id","vzip","Visitor","visit_bty","visit_constraint","visit_enum_def","visit_expr","visit_field_def","visit_fn_output","visit_fn_sig","visit_func_sort","visit_generic_arg","visit_ident","visit_lifetime","visit_literal","visit_poly_func_sort","visit_qpath","visit_refine_arg","visit_refine_param","visit_sort","visit_struct_def","visit_ty","visit_type_binding","visit_variant","visit_variant_ret","walk_bty","walk_constraint","walk_enum_def","walk_expr","walk_field_def","walk_fn_output","walk_fn_sig","walk_func_sort","walk_generic_arg","walk_poly_func_sort","walk_qpath","walk_refine_arg","walk_refine_param","walk_sort","walk_struct_def","walk_ty","walk_type_binding","walk_variant","walk_variant_ret","GlobalEnv","Ident","Symbol","adt_def","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check_wf","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","const_by_name","cstore","cstore","ctor_has_equality","defns","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","early_bound_sorts_of","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","field_index","field_sort","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fn_sig","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_decl","func_decls","generics_of","get_generic_param","has_equality","hir","index_sorts_of","init","init","init","instantiate_arg_for_constructor","instantiate_arg_for_fun","into","into","into","into_query_param","into_query_param","into_query_param","is_box","is_fn_once_output","is_suggestable","is_suggestable","item_bounds","lookup_extern","lower_fn_sig","lower_late_bound_vars","lower_type_of","make_suggestable","make_suggestable","map","map","map_mut","mir","mk_box","name","new","predicates_of","providers","qualifiers","queries","recover","recover","refine_default","refine_default_generic_args","refine_with_holes","sess","sort_of_bty","sort_of_generic_param","sort_of_path","sort_of_self_ty","sort_of_self_ty_alias","sort_of_ty","span","tcx","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","variances_of","variant_sig","variants_of","vzip","vzip","vzip","Guard","InternMap","InternStorage","Internable","Interned","List","SliceInternable","abs","alias","and","app","arc","arc","array","as_any","as_closure","as_generator","as_generator","as_ref","as_tuple","at_base","binary_op","blocked","bool","borrow","borrow","borrow_mut","borrow_mut","char","clone","clone_into","closure","cmp","cmp","collect_and_apply","collect_and_apply","compare","compare","const_def_id","const_op","constant","constant_at","constr","decode","decode","deref","deref","deref","deref_mut","deref_mut","discr","downcast","drop","drop","drop","drop_slow","early_bvar","empty","empty","encode","encode","eq","eq","eq","eq_at","equals","equivalent","equivalent","equivalent","equivalent","equivalent","eta_expand_abs","eta_expand_tuple","evar","exists","exists_with_constr","expect_tuple","ff","fill_item","filterable","filterable","float","fmt","fmt","fmt","fmt","fold_sort","from","from","from","from","from","from","from_arr","from_arr","from_bits","from_cycle_error","from_cycle_error","from_iter","from_slice","from_slice","from_vec","from_vec","fvar","ge","generator","get","global_func","gt","hash","hasher","hole","identity_for_item","impl_internable","impl_slice_internable","implies","indexed","init","init","int","int_max","int_min","into","into","into_iter","into_query_param","into_query_param","is_abs","is_atom","is_binary_op","is_trivially_true","is_true","is_tuple","ite","kind","kvar","late_bvar","le","list_with","list_with","local","lt","map","marker","mk_ref","mk_slice","ne","neg","never","new","new","not","nu","one","opaque","or","param","partial_cmp","partial_cmp","path_proj","projection","ptr","rwlock","select","shards","shift","simplify","singleton","singleton","span","storage","storage","str","subst","to_loc","to_owned","to_path","to_predicate","to_predicate","to_result","to_result","to_sort_list","to_sort_list","to_string","to_var","try_fold_with","try_from","try_from","try_into","try_into","tt","tuple","tuple","tuple_proj","tuple_projs","type_id","type_id","uint","uint_max","unary_op","unblocked","unconstr","uninit","unit","unit","usize","var","visit_with","vzip","vzip","zero","All","FromOpt","Hide","Join","KVarArgs","PPrintCx","Parens","Pretty","SelfOnly","WithCx","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bindings_chain","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cx","data","def_id_to_string","default","default_cx","define_scoped","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","format_args_cx","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_opt","from_opt","full_spans","fully_qualified_paths","fully_qualified_paths","hide_binder","hide_binder","hide_refinements","hide_regions","hide_regions","hide_uninit","impl_debug_with_default_cx","init","init","init","init","init","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","join","kvar_args","kvar_args","merge","new","new","new","parens","parenthesize","pprint_with_default_cx","preds_chain","sep","set_opts","show_is_binder","show_is_binder","simplify_exprs","tags","tcx","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","val","vzip","vzip","vzip","vzip","vzip","w","with_cx","Cache","Emitted","Err","Ok","Providers","Queries","QueryErr","QueryResult","UnsupportedType","adt_def","adt_def","adt_def","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check_wf","check_wf","check_wf","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","default","default","defns","defns","defns","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","empty_query","filterable","filterable","filterable","fmt","fn_sig","fn_sig","fn_sig","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_decls","func_decls","func_decls","generics_of","generics_of","generics_of","init","init","init","into","into","into","into_diagnostic","into_query_param","into_query_param","into_query_param","item_bounds","item_bounds","item_bounds","lower_fn_sig","lower_fn_sig","lower_late_bound_vars","lower_late_bound_vars","lower_type_of","lower_type_of","mir","mir","predicates_of","predicates_of","predicates_of","providers","qualifiers","qualifiers","qualifiers","run_with_cache","to_owned","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","type_of","type_of","unsupported","value","variants_of","variants_of","variants_of","vzip","vzip","vzip","def_id","def_span","reason","Abs","Add","Adt","AdtDef","AdtDefData","AdtFlags","Alias","AliasKind","AliasTy","And","App","App","Array","BaseTy","BaseTy","BaseTy","BinOp","BinaryOp","Binder","BitVec","Blocked","Bool","Bool","Bool","Bool","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","Box","BrAnon","BrEnv","BrNamed","Char","Clause","ClauseKind","Closure","ClosureKind","ClosureOblig","Const","Const","Const","ConstDefId","Constant","Constant","Constr","Constraint","Constraints","Coroutine","CoroutineWitness","Defn","Defns","Discr","Div","Downcast","ESpan","EVar","EVar","EVarGen","EarlyBinder","EarlyBound","EarlyBoundRegion","Eq","Exists","Expr","Expr","ExprKind","F32","F64","FIRST_VARIANT","Float","Float","FloatTy","Fn","FnMut","FnOnce","FnOutput","FnSig","FnTrait","FnTraitPredicate","Free","FreeRegion","Func","FuncDecl","FuncSort","Ge","GeneratorArgs","GeneratorOblig","GeneratorObligPredicate","GenericArg","GenericArgs","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","GlobalFunc","Gt","Hole","HoleKind","I128","I16","I32","I64","I8","INNERMOST","INT_TYS","IfThenElse","Iff","Imp","Index","Indexed","InferMode","Int","Int","Int","Int","IntTy","Invariant","Isize","KVar","KVar","KVid","LateBound","Le","Leaf","Lifetime","Lifetime","Loc","Loc","Local","Local","Lt","Map","Mod","Mul","Mut","Mut","Mutability","Name","Ne","Neg","Never","Not","Not","ONE","Opaque","Opaque","OpaqueArgsMap","Opaqueness","Or","OutlivesPredicate","Param","Param","Param","ParamTy","Path","PathProj","PolyFnSig","PolyFuncSort","PolyTy","PolyVariant","PolyVariants","Pred","Pred","Projection","Projection","ProjectionPredicate","Ptr","PtrKind","Qualifier","RawPtr","Real","Real","Ref","Ref","Refine","RefineArgs","RefineParam","Region","Region","ScalarInt","Set","Shr","Slice","Sort","SortCtor","SortVar","SplTy","Str","Sub","Trait","TraitPredicate","TraitRef","Transparent","Tuple","Tuple","Tuple","Tuple","TupleProj","TupleTree","Ty","Ty","TyKind","TyS","Type","Type","TypeOutlives","TypeOutlivesPredicate","U128","U16","U32","U64","U8","UINT_TYS","Uint","Uint","UintTy","UnOp","UnaryOp","Uninit","User","Usize","Var","Var","Var","Var","VariantIdx","VariantSig","ZERO","adt","adt_def","alias","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","app","arc","arc","arc","arc","arc","arc","args","args","args","args","args","args","args","args","array","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_bty_skipping_existentials","as_deref","as_deref","as_generator","as_leaf","as_ref","as_ref","as_ref","base","base","bits","blocked","body","bool","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","box_args","char","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","closure","collect_all_refine_params","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","constr","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","default_cx","default_cx","default_infer_mode","defns","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","did","discr","downcast","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","ensures","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evars","exists","exists_with_constr","expect","expect_adt","expect_discr","expect_func","expect_leaf","expect_refine","expect_sort","expect_tuple","expect_type","expr","expr","expr","fields","fields","fill_item","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","flatten","float","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_param_def","from_ref","fsort","ge","generator","global","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","identity_for_item","idx","iff","imp","index","index","index","index","indexed","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs_and_output","instantiate","instantiate_identity","instantiate_identity","instantiate_identity_into","int","int_invariants","int_max","int_min","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_ty","into_ty","invariants","invariants","invariants","is_array","is_array","is_binder","is_bool","is_bool","is_bool","is_box","is_box","is_box","is_closure","is_closure","is_enum","is_integral","is_integral","is_opaque","is_pred","is_slice","is_slice","is_struct","is_struct","is_struct","is_suggestable","is_trivially_true","is_tuple","is_tuple","is_uninit","is_unit","is_valid_base_arg","is_valid_base_ty","kind","kind","kind","kind","kind","kind","kind","kvid","loc","make_suggestable","map","map","map","mk_ref","mk_slice","mode","name","name","name","name","name","name","ne","never","new","new","new","new","new","new","new","new","new","new","normalize","oblig_def_id","oblig_sig","ok_or_else","opaque","opaque","or","output","output","output","output","output","param","param_at","params","params","params","parent","parent","parent_count","parent_refine_count","pred","predicates","predicates","pretty","private","private","private","private","projection","projection","projection_ty","projections","ptr","rebind","recover","recover","refine_args","refine_count","refine_param_at","refine_params","refining","replace_bound_expr","replace_bound_exprs","replace_bound_exprs_with","replace_bound_vars","requires","requires","resume_ty","ret","ret","rustc","self_args","self_ty","self_ty","size","skip_binder","skip_binder","skip_binders","slice","sort","sort","sort","sort","sort","span","split","split","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","str","subst","super_visit_with","super_visit_with","super_visit_with","term","to_closure_sig","to_closure_sig","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_poly_fn_sig","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","to_string","trait_ref","transpose","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_map","try_map","try_super_fold_with","try_super_fold_with","try_super_fold_with","try_super_fold_with","tuple","tuple","tupled_args","tupled_upvars_ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint","uint_invariants","uint_max","unblocked","unconstr","uninit","unit","unit","unit","unit","usize","value","value","value","value","variant","variants","vars","vars","vars","vars","vars","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk","with_sort","with_sorts","has_default","has_default","name","EVar","EVarCxId","EVarGen","EVarSol","EVarState","EVid","MAX","MAX_AS_U32","NEXT_CTXT_ID","Unified","Unsolved","UnsolvedEvar","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_any","as_u32","as_usize","backward_checked","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","cx","cx","decode","decode","decode","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evar","evars","evars","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fix","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","fresh_in_cx","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u32","from_u32_unchecked","from_usize","get","hash","hash","hash","id","index","index","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","new","new","new_ctxt","partial_cmp","partial_cmp","partial_cmp","pretty","private","solve","steps_between","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Abs","Add","And","App","BinOp","BinaryOp","Bool","ConstDefId","Constant","Constant","Div","ESpan","EVar","EarlyBound","Eq","Expr","Expr","ExprKind","ExprS","Free","Ge","GlobalFunc","Gt","Hole","HoleKind","IfThenElse","Iff","Imp","Int","KVar","KVar","KVid","LateBound","Le","Loc","Local","Local","Lt","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Mod","Mul","Name","Ne","Neg","Not","Or","Path","PathProj","Pred","Real","SpanData","Sub","Tuple","TupleProj","UnOp","UnaryOp","Var","Var","Var","abs","add","add","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","app","arc","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_tuple","as_u32","as_u32","as_usize","as_usize","at_base","backward_checked","backward_checked","base","base","binary_op","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","const_def_id","const_op","constant","constant_at","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","div","div","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_bvar","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq_at","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","espan","eta_expand_abs","eta_expand_tuple","evar","expect_tuple","ff","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold_sort","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_place","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","fvar","ge","global_func","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hi","hole","impl_ops","implies","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","int_max","int_min","intern","intern_at","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_abs","is_atom","is_binary_op","is_trivially_true","is_true","is_tuple","ite","kind","kind","kvar","kvid","late_bvar","le","lo","loc","local","lt","mul","mul","ne","neg","new","new","new","new","new","new","not","nu","one","or","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_proj","pretty","private","private","projection","projection","scope","self_args","self_args","simplify","span","span","span","span","steps_between","steps_between","storage","storage","storage","sub","sub","super_visit_with","to_expr","to_expr","to_expr","to_loc","to_loc","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_path","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_var","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_super_fold_with","tt","tuple","tuple_proj","tuple_projs","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_max","unary_op","unit","var","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_base","zero","AddSub","And","Cmp","Iff","Imp","MulDiv","Or","Precedence","as_any","borrow","borrow_mut","cmp","collect_and_apply","compare","compare","deref","deref_mut","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","from","from","from_cycle_error","init","into","into_query_param","is_associative","partial_cmp","precedence","to_predicate","to_result","try_from","try_into","type_id","vzip","BreakTy","Error","FallibleTypeFolder","TypeFoldable","TypeFolder","TypeSuperFoldable","TypeSuperVisitable","TypeVisitable","TypeVisitor","fold_binder","fold_bty","fold_expr","fold_region","fold_sort","fold_ty","fold_with","fvars","has_escaping_bvars","normalize","normalize_projections","opaque_refine_args","replace_evars","replace_holes","shift_in_escaping","shift_out_escaping","super_fold_with","super_visit_with","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_fold_with","try_super_fold_with","visit_binder","visit_bty","visit_expr","visit_fvar","visit_ty","visit_with","with_holes","BaseSpanner","Defns","Normalizer","app","at_base","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","default","defn_deps","defns","defs","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","espan","filterable","filterable","filterable","fold_expr","fold_expr","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_defn","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","new","new","new","normalize","sorted_defns","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_ty","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","tuple_proj","type_id","type_id","type_id","vzip","vzip","vzip","Candidate","Normalizer","ParamEnv","TVarSubst","TraitDef","UserDefinedImpl","args","assemble_candidates_from_impls","assemble_candidates_from_param_env","assemble_candidates_from_predicates","assemble_candidates_from_trait_def","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","confirm_candidate","def_id","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","filterable","filterable","filterable","fmt","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","genv","infer_from_arg","infer_from_region","infer_from_ty","init","init","init","insert_early_bound_region","insert_param_ty","into","into","into","into_query_param","into_query_param","into_query_param","into_rustc_alias_kind","into_rustc_alias_ty","into_rustc_bound_region","into_rustc_bty","into_rustc_generic_arg","into_rustc_generic_args","into_rustc_region","into_rustc_ty","mk_subst","new","normalize_projection_ty","param_env","rustc_param_env","selcx","tcx","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Refiner","adt_def","as_default","borrow","borrow_mut","collect_and_apply","default","deref","deref_mut","drop","filterable","from","from","from_cycle_error","generics","generics_of","genv","init","into","into_query_param","iter_with_generic_params","iter_with_generics_of","new","param","refine","refine_alias_kind","refine_alias_ty","refine_args_of","refine_binders","refine_bound_variables","refine_clause","refine_clauses","refine_default","refine_fn_trait_pred","refine_generic_arg","refine_generic_arg_raw","refine_generic_predicates","refine_generics","refine_poly_fn_sig","refine_poly_ty","refine_trait_ref","refine_ty","refine_variant_def","to_predicate","to_result","try_from","try_into","type_id","vzip","with_holes","BoundVarReplacer","BoundVarReplacerDelegate","EVarSubstFolder","FnMutDelegate","GenericsSubstFolder","RegionSubst","apply","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bty_for_param","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","current_index","current_index","delegate","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","evars","expr_for_param","exprs","filterable","filterable","filterable","filterable","filterable","fmt","fold_binder","fold_binder","fold_expr","fold_expr","fold_expr","fold_region","fold_region","fold_sort","fold_ty","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics","infer_from_bty","infer_from_region","infer_from_ty","init","init","init","init","init","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","map","new","new","new","new","refine","region_for_param","regions","replace_expr","replace_expr","replace_region","replace_region","sort_for_param","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_bty","try_fold_expr","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_ty","try_fold_ty","try_fold_ty","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","ty_for_param","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","lowering","mir","ty","LoweringCtxt","UnsupportedReason","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","descr","drop","drop","errors","filterable","filterable","fmt","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diagnostic_arg","into_query_param","into_query_param","lower_adt_def","lower_aggregate_kind","lower_alias_kind","lower_assert_msg","lower_basic_block_data","lower_bin_op","lower_binder","lower_borrow_kind","lower_bound_region","lower_bound_vars","lower_cast_kind","lower_clause","lower_const","lower_constant","lower_fake_read_cause","lower_field","lower_fn_sig","lower_generic_arg","lower_generic_args","lower_generic_param_def","lower_generic_predicates","lower_generics","lower_item_bounds","lower_local_decl","lower_mir_body","lower_operand","lower_place","lower_pointer_coercion","lower_region","lower_rvalue","lower_statement","lower_terminator","lower_ty","lower_type_outlives","lower_variant","new","param_env","resolve_call","rustc_mir","selcx","sess","tcx","to_owned","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","UnsupportedGenericBound","UnsupportedLocalDecl","UnsupportedMir","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedGenericBound","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedLocalDecl","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnsupportedMir","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","kind","new","new","new","reason","reason","span","span","span","statement","terminator","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","ty","type_id","type_id","type_id","vzip","vzip","vzip","Add","Adt","Aggregate","AggregateKind","Arg","Array","AscribeUserType","Assert","AssertKind","Assign","BasicBlock","BasicBlockData","BinOp","BinaryOp","BitAnd","BitOr","Bivariant","Body","Bool","BorrowData","BorrowKind","BoundsCheck","Call","CallArgs","Cast","CastKind","Char","CheckedBinaryOp","Cleanup","Closure","Constant","Constant","Continue","Contravariant","Copy","Coroutine","CoroutineDrop","Covariant","Deref","Discriminant","Div","DivisionByZero","Downcast","Drop","Eq","FIRST_VARIANT","FakeRead","FakeReadCause","FalseEdge","FalseUnwind","Field","FieldIdx","Float","FloatToInt","ForLet","ForMatchedPlace","Ge","Goto","Gt","Index","Instance","Int","IntToFloat","IntToInt","Invariant","Le","Len","Local","LocalDecl","LocalDecls","LocalKind","Location","Lt","Move","Mul","Mut","MutToConstPointer","Ne","Neg","Nop","Not","Opaque","Operand","Overflow","Place","PlaceElem","PlaceMention","PlaceTy","Pointer","PointerCast","PtrToPtr","RETURN","RETURN_PLACE","Ref","Rem","RemainderByZero","Return","ReturnPointer","Rvalue","START_BLOCK","SetDiscriminant","Shared","Shl","Shr","SourceInfo","Statement","StatementKind","Str","Sub","SwitchInt","SwitchTargets","Temp","Terminate","Terminator","TerminatorKind","Tuple","Uint","UnOp","UnaryOp","Unit","Unreachable","Unreachable","Unsize","UnwindAction","UnwindResume","Use","Variance","VariantIdx","Yield","_marker","activation_location","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args_iter","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_field","assigned_place","basic_blocks","behind_raw_ptr","block","body_with_facts","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_data","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrowed_place","calculate_borrows_out_of_scope_at_location","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dominators","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fake_predecessors","field_ty","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ty","hash","hash","hash","impl_f","infcx","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_cleanup","is_join_point","is_nop","is_return","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","kind","kind","kind","local","local_decls","local_kind","lowered","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","mk_fake_predecessors","new","new","opt_bb_to_str","orig","private","private","private","private","projection","projection_ty","raw","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","region","region_inference_context","replicate_infer_ctxt","reserve_location","resume_local","rustc_body","scope","source_info","source_info","source_info","span","span","statement_index","statements","storage","targets","terminator","terminator_loc","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","ty","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","values","variant_index","vars_and_temps_iter","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","kind","args","cond","destination","discr","drop","expected","func","generic_args","imaginary_target","msg","place","real_target","real_target","resolved_call","resume","resume_arg","target","target","target","target","targets","unwind","unwind","unwind","value","Adt","AdtDef","AdtDefData","Alias","AliasKind","AliasTy","Array","Binder","Bool","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","BrAnon","BrEnv","BrNamed","Char","Clause","ClauseKind","Closure","ClosureArgs","ClosureArgsParts","Const","Const","Const","Coroutine","CoroutineWitness","DebruijnIndex","EarlyBinder","EarlyBoundRegion","F32","F64","FieldDef","Float","FloatTy","FnPtr","FnSig","FreeRegion","GeneratorArgs","GeneratorArgsParts","GenericArg","GenericArgs","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","I128","I16","I32","I64","I8","Int","IntTy","Isize","Lifetime","Lifetime","Mut","Mutability","Never","Not","Opaque","OutlivesPredicate","Param","Param","ParamTy","PolyFnSig","Projection","Projection","ProjectionPredicate","RawPtr","ReEarlyBound","ReFree","ReLateBound","ReStatic","ReVar","Ref","Region","Region","RegionVid","ScalarInt","Slice","Str","Trait","TraitPredicate","TraitRef","Tuple","Ty","Ty","TyKind","TyS","Type","TypeOutlives","TypeOutlivesPredicate","U128","U16","U32","U64","U8","Uint","UintTy","Usize","Value","ValueConst","VariantDef","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","arc","args","args","args","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_closure","as_generator","as_ref","bind_with_vars","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bound_region","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","closure_kind_ty","closure_sig_as_fn_ptr_ty","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","did","did","did","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expect_adt","expect_const","expect_lifetime","expect_type","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","flags","flags","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs_and_output","instantiate_identity","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_box","is_box","is_enum","is_mut_ref","is_struct","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_union","kind","kind","kind","kind","kind","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","mk_adt","mk_alias","mk_array","mk_bool","mk_char","mk_closure","mk_coroutine","mk_float","mk_fn_ptr","mk_generator_witness","mk_int","mk_never","mk_param","mk_raw_ptr","mk_ref","mk_slice","mk_str","mk_tuple","mk_uint","mk_usize","name","name","name","name","name","new","new","new","non_enum_variant","orig","output","params","parent","parent","parent_args","parent_args","parent_count","predicates","private","private","private","projection_ty","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","region_to_string","resume_ty","return_ty","scope","self_ty","self_ty","size","skip_binder","skip_binder","split","split","storage","storage","storage","storage","storage","storage","storage","subst","subst","subst","subst","subst","subst","subst","subst","term","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","trait_ref","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tuple_fields","tupled_upvars_ty","tupled_upvars_ty","tupled_upvars_ty","tupled_upvars_ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upvar_tys","upvar_tys","val","var","variant","variants","variants","vars","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness","yield_ty","has_default","has_default","Subst","subst"],"q":[[0,"flux_middle"],[23,"flux_middle::const_eval"],[28,"flux_middle::cstore"],[35,"flux_middle::fhir"],[2193,"flux_middle::fhir::GenericParamKind"],[2194,"flux_middle::fhir::RefineArg"],[2196,"flux_middle::fhir::Res"],[2199,"flux_middle::fhir::SortCtor"],[2200,"flux_middle::fhir::StructKind"],[2201,"flux_middle::fhir::lift"],[2264,"flux_middle::fhir::lift::errors"],[2290,"flux_middle::fhir::visit"],[2332,"flux_middle::global_env"],[2488,"flux_middle::intern"],[2699,"flux_middle::pretty"],[2858,"flux_middle::queries"],[2979,"flux_middle::queries::QueryErr"],[2982,"flux_middle::rty"],[5057,"flux_middle::rty::GenericParamDefKind"],[5059,"flux_middle::rty::SortCtor"],[5060,"flux_middle::rty::evars"],[5310,"flux_middle::rty::expr"],[5941,"flux_middle::rty::expr::pretty"],[5982,"flux_middle::rty::fold"],[6024,"flux_middle::rty::normalize"],[6112,"flux_middle::rty::projections"],[6206,"flux_middle::rty::refining"],[6256,"flux_middle::rty::subst"],[6411,"flux_middle::rustc"],[6414,"flux_middle::rustc::lowering"],[6503,"flux_middle::rustc::lowering::errors"],[6583,"flux_middle::rustc::mir"],[7722,"flux_middle::rustc::mir::BorrowKind"],[7723,"flux_middle::rustc::mir::TerminatorKind"],[7748,"flux_middle::rustc::ty"],[9401,"flux_middle::rustc::ty::GenericParamDefKind"],[9403,"flux_middle::rustc::ty::subst"],[9405,"rustc_middle::ty::context"],[9406,"rustc_middle::ty"],[9407,"core::option"],[9408,"rustc_span::def_id"],[9409,"rustc_span::def_id"],[9410,"rustc_middle::arena"],[9411,"core::iter::traits::collect"],[9412,"rustc_hir"],[9413,"core::any"],[9414,"core::cmp"],[9415,"alloc::vec"],[9416,"core::ops::function"],[9417,"core::borrow"],[9418,"rustc_serialize::serialize"],[9419,"rustc_type_ir::codec"],[9420,"rustc_serialize::serialize"],[9421,"rustc_query_system::dep_graph"],[9422,"core::fmt"],[9423,"core::fmt"],[9424,"rustc_hir::hir_id"],[9425,"rustc_query_system::query::job"],[9426,"rustc_span"],[9427,"core::hash"],[9428,"rustc_data_structures::unord"],[9429,"rustc_errors::diagnostic"],[9430,"rustc_middle::middle::resolve_bound_vars"],[9431,"core::convert"],[9432,"rustc_span::span_encoding"],[9433,"rustc_query_system::dep_graph::dep_node"],[9434,"alloc::string"],[9435,"rustc_data_structures::fingerprint"],[9436,"rustc_hir::def"],[9437,"core::any"],[9438,"rustc_hir::hir"],[9439,"rustc_hir::hir"],[9440,"rustc_hir::hir"],[9441,"rustc_errors::diagnostic_builder"],[9442,"rustc_middle::hir::map"],[9443,"alloc::boxed"],[9444,"core::marker"],[9445,"core::cmp"],[9446,"alloc::sync"],[9447,"rustc_hash"],[9448,"core::hash"],[9449,"core::cmp"],[9450,"hashbrown::map"],[9451,"dashmap::lock"],[9452,"core::ops::control_flow"],[9453,"toml::value"],[9454,"rustc_hash"],[9455,"core::hash"],[9456,"core::iter::traits::collect"],[9457,"rustc_hash"],[9458,"rustc_middle::ty::generic_args"],[9459,"rustc_middle::ty::sty"],[9460,"rustc_type_ir::ty_kind"],[9461,"rustc_middle::ty::sty"],[9462,"rustc_middle::ty"],[9463,"rustc_middle::mir::syntax"],[9464,"rustc_middle::mir::syntax"],[9465,"rustc_middle::mir::syntax"],[9466,"rustc_middle::mir::syntax"],[9467,"rustc_middle::mir::syntax"],[9468,"rustc_middle::mir::syntax"],[9469,"rustc_middle::mir::terminator"],[9470,"rustc_middle::ty"],[9471,"rustc_borrowck::dataflow"],[9472,"rustc_data_structures::fx"],[9473,"rustc_data_structures::graph::dominators"],[9474,"rustc_middle::mir"],[9475,"rustc_borrowck::region_infer"]],"d":["Raw content of Fluent resource for this crate, generated …","","","","","","","","","","","","","","","Flux High-Level Intermediate Repesentation","","Global Arc-based object interning infrastructure.","","","Defines how flux represents refinement types internally. …","This module contains simplified versions of some …","","","","","","","","","","","","","","","","","Sort constructor application (e.g. Set<int> or …","","","","","An implicitly scoped parameter declared with @a syntax","These are types of things that may be refined with indices …","","A type that parses as a BaseTy but was written without …","","","","","","","","","","","An implicitly scoped parameter declared with x: T syntax","","","Constrained types {T | p} are like existentials but …","","","User-defined functions with a body definition","","","","","Generate a fresh evar for the parameter and solve it via …","","","A sort that couldn’t be generated because of an error.","","A parameter declared in an explicit scope","","","","A unique identifier for a node in the AST. Like HirId it …","","","An item without a corresponding Rust definition, e.g., a …","","","","Owner version of FluxLocalDefId","","","","","","","","","","","","","","","","","A global function symbol (including possibly theory …","","","A lifetime hole created during desugaring.","","","","","","Sort inference variable generated for a Sort::Wildcard …","Inference mode for parameter at function calls","","","","","An ItemLocalId uniquely identifies something within a …","","","Generate a fresh kvar and let fixpoint infer it. This mode …","","","Our surface syntax doesn’t have lifetimes. To deal with …","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","A map between rust definitions and flux annotations in …","","","","","","","","","","","","","","","","","","","","The sort associated to a type variable","How the declared parameter in the surface syntax. This is …","","","","","An implicitly scoped parameter declared with #a syntax","A predicate that needs to hold","Not represented directly in the AST; referred to by name …","","","","","","","","","","","A record sort corresponds to the sort associated with a …","","","","Information about the refinement parameters associated …","","A resolved lifetime created during lifting.","","An item with a corresponding Rust definition, e.g., …","","","","","","","","","","","A Sort vvariable id","","","","","","","","Theory symbols “interpreted” by the SMT solver: Symbol …","","","","","","","","A type constraint on a location","","","","User-defined uninterpreted functions with no definition","","","","","User defined opaque sort","sort variable","","A function coming from a refinement parameter.","","The source-order index of a variant in a type.","","","","","A sort that needs to be inferred","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example: vec![(x: StrRef(l))]","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The number of early bound parameters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","Creates a new index from a given usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a usize.","","","","Extracts the value of this index as a usize.","","Extracts the value of this index as a usize.","","Index parameters indexed by their name and in the same …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","inputs and output in order","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the sort is Bool.","","","","Whether the sort is a function with return sort bool","","Returns true if the sort is Wildcard.","","","","","","","","","","","","“Lift” HIR types into FHIR types.","Whether the sig was lifted from a hir signature","Whether this alias was lifted from a hir alias","Whether this field was lifted from a hir field","Whether this variant was lifted from a hir variant","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example: vec![(n: Int), (l: Loc)]","","","","","","","","","","","","","","","","","","","","","","","","example: vec![(0 <= n), (l: i32)]","","","","","","","","","","","","Tracks the mapping from bound var to generic def ids. e.g. …","Sorts of both early bound and index parameters. Early …","","","","","","","","","","","","","","","","","","","","","","replace all “sort-vars” (indexed 0…n-1) with the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether this arg was used as a binder in the surface …","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","Returns the argument unchanged.","","","HACK(nilehmann) do not use this function. See lift_self_ty.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","HACK(nilehmann) this is used during annot check to allow …","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An interned string.","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","For now all sort constructors have equality if all the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Whether values of this sort can be compared for equality.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","An expression is an atom if it is “self-delimiting”, …","","Simple syntactic check to see if the expression is a …","Whether the expression is literally the constant true.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Simplify the expression by removing double negations, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","Contains the success value","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lambda abstractions. They are purely syntactic and we don…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An anonymous region parameter for a given fn (&T)","Anonymous region for the implicit env pointer parameter to …","Named region parameters for functions (a in &’a T)","","","","","Represents the various closure traits in the language. This","","","","","","","","","","","","","","","This is a bit of a hack. We use this type internally to …","","","","","","","","","","","","","A hole used as a refinement argument or index. It will be …","","","","Equivalent to VariantIdx(0).","","","","","","","","","","","","","","","","","","","","","","","","","","","","A hole is an expression that must be inferred either …","The position where a hole appears. This determines how it …","","","","","","","","","","","","","","","","","","","","","In theory a kvar is just an unknown predicate that can use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Option-like enum to explicitly mark that we don’t have …","","A: B","","","","","","","","","","","","A hole in predicate position (e.g., the predicate in a …","","","","","","","","","","","","","","","","","","The raw bytes of a simple value.","","","","","","SortVar are used for polymorphic sorts (Set, Map etc.) and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The source-order index of a variant in a type.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The list of all arguments with the self arguments at the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The span for the (base) call-site for def-expanded spans","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate and collect all refinement parameters in this item …","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This modules folows the implementation of folding in …","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::int_max","See BigInt::int_min","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the sort is Bool.","Whether the type is a bool","","","","","","","","Whether the type is an int or a uint","","","Whether the sort is a function with return sort bool","","","","","","","See Expr::is_trivially_true","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Holds the refinement-arguments for opaque-types; empty for …","","","","Refining is the process of generating a refined version of …","","","","","","","","","","","The number of arguments consider to be self arguments.","This method work only with associated type projections …","","","","","","","","","","","","The top-level span information","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See BigInt::uint_max","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An existential varriable is identified by a context and an …","","","","","Existential variable id","Maximum value the index can take.","Maximum value the index can take, as a u32.","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generates an evar guaranteed to be fresh in the provided …","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","","","","","","Extracts the value of this index as a usize.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Generates a context id guaranteed to be globally fresh. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Lambda abstractions. They are purely syntactic and we don…","","","","","","","","","","","","","","","","A hole used as a refinement argument or index. It will be …","","","","","","","A hole is an expression that must be inferred either …","The position where a hole appears. This determines how it …","","","","","In theory a kvar is just an unknown predicate that can use …","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","","","","","","","","","","A hole in predicate position (e.g., the predicate in a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The list of all arguments with the self arguments at the …","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","The span for the (base) call-site for def-expanded spans","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a usize.","","","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","An expression is an atom if it is “self-delimiting”, …","","Simple syntactic check to see if the expression is a …","Whether the expression is literally the constant true.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The number of arguments consider to be self arguments.","Simplify the expression by removing double negations, …","","","","The top-level span information","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set of all free variables. For example, …","","Normalize expressions by applying beta reductions for …","","Returns the set of all opaque type aliases def ids","","Replaces all holes with the result of calling a closure. …","","","","","","","","","","","","","","","","","","","Turns each TyKind::Indexed into a TyKind::Exists with a …","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Returns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Substitution for late bound variables","","Substitution for existential variables","","Substitution for generics, i.e., early bound types, …","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","We leave this as None if we only want to substitute the …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A simplified version of rust mir.","A simplified version of rust types.","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Function argument.","","","","","","A node in the MIR control-flow graph.","","","","","","","","","","","","","","","","We only support opaque chars, so no data stored here for …","","Cleanups to be done.","","","","No action is to be taken. Continue unwinding.","","","","","","","","","","","","","Equivalent to VariantIdx(0).","","","","","","The source-order index of a field in a variant.","","","","","","","","","An Instance is the resolved call-target at a particular …","","","","","","","","","","Classifies locals into categories. See Body::local_kind.","Location represents the position of the start of the …","","","","","","","The - operator for negation","","The ! operator for logical inversion","General catch-all for constants of a given Ty","","","","","","","","","","","","","","","","Location of function’s return value.","","","","","","","Grouped information about the source code origin of a MIR …","","","We only support opaque string slices, so no data stored …","","","","User-declared variable binding or compiler-introduced …","Terminates the execution if unwind happens.","","","","","","","","","Triggers undefined behavior if unwind happens.","","Action to be taken when a stack unwind happens.","","","","The source-order index of a variant in a type.","","","Location where the borrow is activated.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Place to which the borrow was stored","","","The block that the location is within.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Place from which we are borrowing","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","See mk_fake_predecessors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","During borrow checking, rustc generates fresh region …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","What kind of borrow this is","the “root” of the place, e.g. _1 in *_1.f.g.h","","","","","","","","","","","","","The FalseEdge/imaginary_target edges mess up the …","","","","","","","","","path taken to “get” the place e.g. *.f.g.h in *_1.f.g.h…","","","","","","","","","","","","","","The region for which this borrow is live","","Replicate the InferCtxt used for mir typeck by generating …","Location where the borrow reservation starts. In many …","see (NOTE:YIELD)","","The source scope, keeping track of which bindings can be …","","","","","The source span for the AST pertaining to this MIR entity.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Downcast to a particular variant of an enum or a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An anonymous region parameter for a given fn (&T)","Anonymous region for the implicit env pointer parameter to …","Named region parameters for functions (a in &’a T)","","","","","","","","","","","","A De Bruijn index is a standard means of representing …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A: B","","","","","","","","","","","","","","","","","A region (lifetime) variable ID.","The raw bytes of a simple value.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This method work only with associated type projections …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411,411,411,411,411,47,192,192,56,60,43,39,0,54,0,36,39,0,0,60,56,412,56,62,0,412,0,54,60,0,39,0,52,64,0,91,192,60,55,0,192,56,39,54,0,47,0,0,0,412,44,45,0,0,0,0,0,0,0,56,0,0,0,192,0,0,0,0,0,0,0,61,192,39,41,0,60,192,192,39,56,0,67,412,56,62,0,0,0,55,95,192,0,36,51,0,60,56,0,0,192,18,20,21,18,20,21,0,30,38,192,192,108,43,0,0,0,192,237,39,38,237,108,99,39,0,192,56,0,0,48,0,0,54,87,0,52,67,39,0,0,91,39,56,62,47,56,39,0,0,0,0,41,49,44,45,52,52,30,43,48,0,0,0,0,0,36,412,0,0,192,0,62,64,95,0,99,39,0,0,0,87,36,51,0,64,412,0,60,56,30,56,60,61,0,0,0,0,0,0,56,18,20,21,22,25,38,38,41,41,43,43,44,44,45,45,46,46,18,18,412,412,52,52,54,54,55,55,20,20,62,62,63,63,21,21,64,64,38,38,41,41,43,43,44,44,45,45,46,46,18,18,412,412,52,52,54,54,55,55,20,20,62,62,63,63,21,21,64,64,83,90,33,76,30,43,44,45,46,18,412,52,55,20,30,56,57,58,21,64,32,34,18,20,21,18,20,21,18,20,21,120,413,33,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,96,94,94,97,103,414,36,37,38,32,39,40,41,42,43,44,45,46,18,47,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,64,36,37,38,32,39,40,41,42,43,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,64,43,18,20,21,66,66,66,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,43,43,18,18,20,20,21,21,22,22,22,70,69,18,55,20,30,56,57,58,21,13,64,89,37,100,102,13,22,56,22,22,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,52,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,13,25,13,18,55,20,30,56,57,58,21,13,64,86,22,22,43,44,45,46,18,52,55,20,30,56,57,58,21,64,43,44,45,46,18,412,52,55,20,30,56,57,58,21,64,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,46,46,46,46,46,18,18,18,18,18,412,412,412,412,412,52,52,52,52,52,55,55,55,55,55,20,20,20,20,20,30,30,30,30,30,56,56,56,56,56,57,57,57,57,57,58,58,58,58,58,21,21,21,21,21,64,64,64,64,64,51,90,76,22,61,53,59,13,13,102,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,412,22,83,86,87,88,89,36,37,90,91,92,93,94,95,96,38,97,25,98,99,100,101,102,103,104,32,41,42,67,69,44,45,46,18,47,34,49,33,50,51,52,53,54,55,20,30,30,56,56,57,57,58,58,59,61,62,63,21,13,106,64,76,22,22,104,22,22,18,20,21,83,83,86,86,87,87,66,66,70,70,88,88,89,89,36,36,37,37,90,90,91,91,92,92,93,93,94,94,95,95,96,96,38,38,97,97,22,22,25,25,98,98,99,99,100,100,101,101,102,102,103,103,104,104,32,32,39,39,40,40,41,41,42,42,43,43,43,67,67,69,69,44,44,44,44,45,45,45,46,46,18,18,18,18,47,47,412,412,34,34,34,48,48,49,49,33,33,50,50,51,51,52,52,53,53,54,54,55,55,20,20,20,20,30,30,56,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,21,21,21,21,13,13,106,106,64,64,76,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,20,18,20,21,18,20,21,18,20,21,58,22,22,22,22,69,22,22,22,22,22,22,22,22,88,22,22,22,90,43,44,45,46,18,55,20,30,56,57,58,21,64,50,53,103,415,18,18,20,20,20,21,21,25,13,13,53,54,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,416,57,57,70,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,58,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,32,33,56,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,98,101,13,34,56,54,56,98,56,22,56,89,98,32,34,53,59,106,414,66,66,66,0,83,25,100,102,46,56,415,40,53,113,90,92,63,106,76,66,22,18,20,57,58,63,21,13,66,66,66,22,104,57,83,66,70,69,46,25,98,101,83,86,88,98,101,102,58,76,43,18,20,21,93,22,104,177,18,20,21,22,412,33,22,22,83,33,86,102,56,58,53,106,76,22,22,22,13,13,63,49,63,83,113,92,94,25,102,32,42,34,33,59,13,18,20,21,55,22,22,56,63,37,20,50,412,412,36,37,38,32,39,40,41,42,43,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,64,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,30,56,57,58,96,96,13,22,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,25,100,40,22,22,66,66,66,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,56,37,42,101,0,83,86,87,66,70,88,89,36,37,90,91,92,93,94,95,96,38,97,22,25,98,99,100,101,102,103,104,32,39,40,41,42,43,67,69,44,45,46,18,47,412,34,48,49,33,50,51,52,53,54,55,20,30,56,57,58,59,60,61,62,63,21,13,106,64,76,88,417,418,418,419,419,420,421,422,0,126,126,126,126,126,126,126,126,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,0,126,126,126,126,126,126,0,126,126,126,126,126,126,126,126,126,126,126,0,0,126,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,0,0,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,423,423,72,72,423,423,72,72,423,72,153,423,72,153,423,72,153,423,72,153,423,72,72,72,153,153,153,153,153,153,423,72,153,423,72,153,423,72,153,423,72,423,423,423,423,423,72,72,72,72,72,153,153,153,423,72,423,72,153,153,153,423,423,72,72,153,423,72,153,153,153,153,153,153,153,153,423,72,153,153,153,423,72,153,423,72,153,153,423,72,153,153,153,153,153,423,72,153,153,153,153,153,423,153,153,153,153,153,423,72,153,153,153,153,153,153,153,153,153,153,423,153,423,72,423,72,423,72,153,423,72,153,423,72,423,72,153,423,72,153,423,72,153,423,72,153,153,153,153,153,423,72,0,0,0,0,0,0,0,185,185,185,185,185,158,185,185,185,185,185,185,185,185,185,185,185,185,121,185,121,185,185,185,185,185,158,185,121,185,185,185,185,185,185,185,185,185,185,185,121,185,121,185,185,185,185,121,185,185,185,158,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,121,185,185,185,185,158,185,185,185,185,185,121,121,185,158,185,185,121,158,185,158,185,158,185,185,185,121,185,185,185,424,185,185,0,0,185,185,185,121,185,185,185,185,121,185,185,121,185,185,185,185,185,185,185,185,185,185,185,185,158,185,185,121,425,185,185,185,185,185,185,121,185,185,185,185,185,185,185,158,185,185,185,425,185,424,424,185,185,158,185,189,426,185,158,185,185,185,185,121,185,121,185,158,185,185,158,185,121,185,121,185,185,185,185,185,185,121,185,185,185,185,185,185,185,185,185,185,158,185,121,185,242,0,242,0,0,0,0,0,242,0,242,242,242,242,202,202,243,244,245,242,202,243,244,245,242,242,242,202,243,244,245,242,243,243,0,202,203,0,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,203,243,244,244,245,0,202,202,243,243,244,244,245,245,242,242,202,243,244,245,242,427,242,202,202,202,202,202,202,202,202,202,0,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,244,0,202,202,202,243,244,245,0,245,0,202,244,0,202,202,202,202,202,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,202,243,244,245,242,245,202,243,244,245,242,0,0,0,248,154,154,0,0,0,0,248,247,173,247,173,248,247,428,173,248,247,247,173,247,248,248,173,248,247,173,247,247,173,247,173,248,247,173,248,247,173,248,247,0,173,248,247,248,247,173,247,173,173,248,248,248,247,247,173,248,247,247,173,247,247,173,247,173,248,247,173,248,247,248,173,248,247,247,173,247,247,247,247,247,247,247,247,247,247,173,247,247,247,173,247,0,248,173,248,247,173,248,247,173,248,247,173,248,247,173,248,247,247,173,247,248,428,247,173,247,173,248,247,429,429,429,215,192,199,0,0,0,275,0,0,192,215,197,199,0,261,163,0,215,0,197,275,6,197,199,0,0,0,0,0,224,408,408,408,199,0,0,199,0,0,0,261,163,215,0,215,275,0,0,199,199,0,0,275,192,275,0,0,233,0,0,233,0,192,275,0,212,0,201,201,0,199,0,0,322,322,322,0,0,262,0,233,0,197,0,0,192,0,262,0,0,0,0,0,0,0,215,192,215,0,214,214,214,214,214,0,0,215,192,192,0,275,0,6,197,199,0,0,0,214,0,215,0,233,192,259,261,163,0,197,215,231,192,256,192,192,108,224,0,0,192,237,199,237,108,6,17,181,0,0,192,0,197,275,199,0,0,215,0,0,0,0,0,212,274,262,181,0,275,0,0,199,6,197,199,0,232,0,0,0,232,0,256,224,199,0,0,0,261,199,192,262,0,0,17,215,197,259,199,215,0,0,163,0,0,261,274,262,0,236,236,236,236,236,0,199,0,0,0,215,275,256,236,0,215,231,197,0,0,6,199,272,170,192,192,237,237,6,6,256,256,224,224,181,181,407,407,322,322,192,192,237,237,6,6,256,256,224,224,181,181,407,407,322,322,6,197,179,178,285,170,220,175,257,188,216,264,267,272,257,182,170,192,237,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,407,322,238,17,12,175,259,17,180,12,300,183,407,170,251,170,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,0,170,192,237,6,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,192,237,6,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,407,322,170,159,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,407,407,322,322,170,2,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,161,264,267,182,309,257,238,197,157,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,10,170,170,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,273,192,237,6,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,192,237,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,407,322,192,192,192,192,192,237,237,237,237,237,6,6,6,6,6,260,260,260,260,260,161,161,161,161,161,261,261,261,261,261,164,164,164,164,164,262,262,262,262,262,263,263,263,263,263,264,264,264,264,264,265,265,265,265,265,266,266,266,266,266,267,267,267,267,267,256,256,256,256,256,268,268,268,268,268,197,197,197,197,197,269,269,269,269,269,270,270,270,270,270,10,10,10,10,10,277,277,277,277,277,271,271,271,271,271,272,272,272,272,272,232,232,232,232,232,180,180,180,180,180,259,259,259,259,259,274,274,274,274,274,238,238,238,238,238,275,275,275,275,275,224,224,224,224,224,213,213,213,213,213,199,199,199,199,199,182,182,182,182,182,181,181,181,181,181,163,163,163,163,163,407,407,407,407,407,322,322,322,322,322,0,170,170,17,238,238,197,259,232,232,238,163,0,303,213,272,272,175,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,407,322,197,170,192,192,192,237,237,237,6,6,11,159,260,161,261,172,164,262,262,263,264,265,266,267,256,268,197,197,269,269,270,270,10,277,17,271,272,272,232,232,180,180,180,180,12,259,257,257,273,274,274,251,249,280,238,238,275,224,224,213,213,199,199,182,181,181,163,163,0,192,192,237,237,6,6,6,6,6,6,6,303,303,188,188,159,159,260,260,161,161,261,261,172,172,164,164,262,262,263,263,264,264,265,265,266,266,267,267,256,256,268,268,268,197,197,269,269,270,270,10,10,277,277,17,17,271,271,272,272,232,232,180,180,12,12,259,259,257,257,273,273,274,274,251,251,249,249,280,280,238,238,275,275,224,224,213,213,213,213,213,199,199,182,182,181,181,163,163,407,407,322,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,163,224,270,6,170,251,6,192,237,6,260,161,261,164,262,263,264,265,266,267,256,268,197,269,270,10,277,271,272,232,180,259,274,238,275,224,213,199,182,181,163,175,272,6,6,161,268,221,309,170,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,269,269,12,12,12,12,170,0,6,6,275,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,180,199,10,199,277,238,199,213,197,238,199,10,238,199,238,199,10,238,199,10,197,238,199,10,238,199,322,180,238,199,238,197,163,275,164,238,161,164,266,249,238,216,225,322,17,180,12,170,170,260,303,161,251,249,221,309,6,170,188,164,269,270,10,272,180,257,273,182,0,280,280,17,170,277,6,269,257,266,267,257,170,159,270,159,270,159,172,159,159,271,12,172,0,177,294,207,430,170,225,265,0,170,180,407,322,182,159,159,159,0,180,180,180,180,257,257,188,272,273,277,216,182,266,2,180,12,270,199,10,199,260,277,249,183,188,259,15,170,260,161,164,197,277,271,232,259,274,238,163,170,0,170,180,199,265,266,267,407,322,407,322,192,237,6,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,17,271,272,232,180,12,259,257,273,274,238,275,224,213,199,182,181,163,407,322,12,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,192,237,6,322,263,17,170,164,262,263,264,265,266,267,197,17,271,272,232,180,257,273,274,251,213,199,182,163,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,180,12,170,197,180,199,170,197,266,188,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,170,0,6,170,170,170,170,197,259,213,170,15,11,14,180,10,10,180,15,11,14,180,170,164,262,263,264,265,266,267,197,17,271,272,232,180,257,273,274,251,213,199,182,163,192,237,6,303,188,159,260,161,261,172,164,262,263,264,265,266,267,256,268,197,269,270,10,277,17,271,272,232,180,12,259,257,273,274,251,249,280,238,275,224,213,199,182,181,163,407,322,197,180,180,431,432,433,0,0,0,0,0,0,288,288,0,293,293,0,288,198,198,288,288,289,289,198,198,288,288,289,289,198,288,289,288,288,288,291,290,198,292,293,288,289,291,290,198,292,293,288,289,198,288,289,198,288,289,198,288,289,291,290,198,292,293,288,289,198,198,288,288,289,289,198,198,198,288,289,290,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,198,288,289,198,288,289,198,288,289,198,198,198,198,198,288,288,288,288,288,289,289,289,289,289,292,291,290,291,290,198,292,293,288,289,291,291,290,198,198,292,293,288,289,288,290,291,291,290,290,198,198,292,292,293,293,288,288,288,288,289,289,291,290,198,292,293,288,289,288,288,288,291,198,288,289,198,288,288,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,288,290,198,288,289,0,288,290,288,198,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,291,290,198,292,293,288,289,290,291,290,198,292,293,288,289,215,192,192,215,0,215,6,215,0,215,192,0,233,233,192,0,212,0,0,233,192,215,192,215,0,215,192,192,6,0,215,0,233,192,0,215,231,192,294,207,294,207,192,192,0,192,237,237,192,0,215,212,6,0,192,215,215,0,215,0,215,231,179,179,179,294,207,183,183,295,295,233,233,294,294,207,207,183,183,295,295,233,233,294,294,207,207,179,179,179,216,191,183,295,215,212,216,233,225,231,294,207,179,294,207,294,207,179,294,207,183,183,179,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,233,233,225,225,231,231,294,294,207,207,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,191,191,191,191,191,183,183,183,183,183,295,295,295,295,295,215,215,215,215,215,212,212,212,212,212,216,216,216,216,216,233,233,233,233,233,225,225,225,225,225,231,231,231,231,231,294,294,294,294,294,207,207,207,207,207,191,179,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,179,179,183,295,212,216,216,233,233,225,225,231,231,294,207,179,294,207,179,179,179,179,191,191,183,183,295,295,215,215,212,212,216,216,233,233,225,225,225,231,231,231,231,294,294,294,294,207,207,207,207,179,191,183,295,215,212,216,233,225,231,294,207,225,294,207,294,207,294,207,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,295,179,0,179,294,294,207,207,191,183,295,215,212,216,233,225,231,294,207,179,179,215,215,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,179,179,179,179,179,179,191,179,216,179,179,295,225,179,179,179,179,179,179,183,295,216,225,294,207,179,179,179,179,233,225,231,294,207,179,0,294,207,225,225,216,216,216,179,179,183,295,183,294,207,179,191,216,179,179,179,233,225,231,179,225,191,183,295,215,212,216,233,225,231,294,207,179,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,212,216,191,183,295,215,212,216,233,225,231,294,207,191,183,295,215,212,216,233,225,231,294,207,179,179,179,179,179,191,183,295,215,212,216,233,225,231,294,207,179,179,179,179,179,212,216,233,191,183,295,215,212,216,233,225,231,294,207,183,179,296,296,296,296,296,296,296,0,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,0,296,296,296,296,296,296,241,235,0,0,0,0,0,0,0,297,297,297,297,297,297,234,240,240,234,234,240,234,234,234,234,434,435,235,235,235,235,235,235,234,434,241,241,241,241,241,240,234,0,0,0,301,301,301,302,157,301,302,157,301,302,157,157,157,157,301,301,302,157,301,302,157,301,302,157,302,301,302,157,301,302,301,301,302,302,157,157,301,302,157,157,301,302,157,301,302,157,301,302,157,301,302,157,157,157,301,302,157,301,302,157,301,302,301,302,301,302,301,302,301,302,301,302,301,302,157,301,302,157,301,301,302,157,301,302,157,0,0,305,0,305,305,306,304,304,0,304,304,305,306,304,305,306,304,305,306,304,304,304,305,306,304,305,306,304,305,306,304,305,306,305,306,304,304,305,305,306,306,304,305,306,304,306,306,306,304,305,306,306,306,304,305,306,304,305,306,0,0,0,0,0,0,0,0,306,304,304,304,304,304,304,304,305,306,304,305,306,304,304,305,306,304,305,306,304,305,306,304,305,306,0,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,317,0,317,317,0,317,317,317,317,0,317,317,317,317,317,317,317,317,317,317,317,317,0,0,0,0,0,0,326,328,331,330,327,326,328,331,330,327,326,327,328,331,330,327,326,328,327,328,328,331,330,327,326,328,331,330,327,326,328,331,330,327,326,330,327,331,328,331,330,327,326,326,328,327,328,330,327,328,327,327,327,328,328,331,331,330,330,327,327,326,326,328,331,330,327,326,327,326,326,326,328,331,330,327,326,328,331,330,327,326,328,331,330,327,326,326,328,330,327,326,327,327,331,329,331,329,331,327,328,331,330,327,326,328,331,330,327,326,328,330,327,328,330,327,328,330,327,328,330,327,328,330,327,328,330,327,328,331,330,327,326,328,331,330,327,326,327,328,331,330,327,326,328,331,330,327,326,0,0,0,0,0,333,255,333,255,255,255,333,255,333,255,333,255,255,333,255,0,333,255,255,333,333,255,255,333,255,333,255,333,255,255,333,255,0,333,0,333,333,333,0,333,0,0,333,0,0,333,333,0,0,0,0,0,0,0,0,333,333,333,0,333,0,333,333,333,0,0,0,255,333,333,333,333,333,333,255,333,255,333,255,333,255,333,255,333,255,333,255,0,0,0,0,0,0,379,378,380,379,378,380,379,378,380,379,378,380,379,378,380,379,378,380,379,378,380,379,379,378,378,378,378,380,380,379,378,380,379,378,380,379,378,380,379,378,380,379,378,380,378,379,378,380,378,380,379,378,380,378,378,379,378,380,379,378,380,379,378,380,379,378,380,379,379,378,380,379,378,380,341,335,368,0,395,335,393,392,0,393,0,0,0,368,341,341,176,0,4,0,0,337,392,0,368,0,4,368,436,335,0,363,436,176,363,335,392,176,382,368,341,337,382,392,341,0,393,0,392,392,382,0,4,347,352,352,341,392,341,382,0,4,347,347,176,341,368,0,0,0,0,0,341,363,341,344,366,341,437,393,437,4,0,337,0,0,393,0,347,0,347,195,0,368,341,337,392,395,0,0,393,344,341,341,0,0,0,4,341,392,0,395,436,0,0,335,4,0,368,4,392,436,366,0,392,368,0,0,392,383,385,176,176,223,223,177,177,347,347,366,366,341,341,382,382,436,436,437,437,438,438,218,218,395,395,388,388,386,386,176,176,223,223,177,177,347,347,366,366,341,341,382,382,436,436,437,437,438,438,218,218,395,395,388,388,386,386,391,169,176,223,177,341,195,382,439,436,437,438,218,395,388,386,382,385,169,195,386,169,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,169,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,385,169,360,347,366,341,195,382,176,223,177,385,360,347,366,341,195,382,439,436,437,438,218,395,388,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,223,223,177,177,437,437,218,218,388,388,386,386,195,382,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,169,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,195,382,341,195,382,176,223,177,341,195,382,439,436,437,438,218,395,388,386,176,176,176,176,176,223,223,223,223,223,177,177,177,177,177,341,341,341,341,341,195,195,195,195,195,382,382,382,382,382,436,436,436,436,436,437,437,437,437,437,438,438,438,438,438,218,218,218,218,218,395,395,395,395,395,388,388,388,388,388,386,386,386,386,386,169,390,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,176,223,177,439,436,437,438,218,395,388,386,223,169,372,370,368,363,4,352,339,377,391,392,337,393,347,366,335,341,195,390,382,176,176,223,223,169,169,372,372,370,370,368,368,177,177,344,344,363,363,4,4,352,352,385,385,339,339,360,360,377,377,391,391,392,392,337,337,393,393,347,347,366,366,335,335,341,341,195,195,390,390,382,382,439,439,436,436,437,437,438,438,218,218,395,395,388,388,386,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,390,341,195,382,391,169,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,169,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,339,169,370,372,176,223,177,439,436,437,438,218,388,372,370,385,195,169,169,377,176,223,177,439,436,437,438,218,388,0,169,195,0,377,223,177,218,388,195,390,383,176,223,177,439,436,437,438,218,395,388,386,385,169,0,385,169,169,438,372,370,360,169,438,386,339,223,439,339,169,176,223,177,439,436,437,438,218,395,388,386,176,223,177,439,436,437,438,218,395,388,386,176,223,177,385,360,347,366,341,195,382,439,436,437,438,218,395,388,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,385,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,195,360,390,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,439,390,169,176,223,169,372,370,368,177,344,363,4,352,385,339,360,377,391,392,337,393,347,366,335,341,195,390,382,439,436,437,438,218,395,388,386,440,441,442,441,443,444,442,441,441,445,442,446,445,447,441,444,444,441,448,446,442,443,441,446,447,444,406,0,0,406,0,0,406,0,406,0,0,0,0,408,408,408,406,0,0,406,0,0,0,401,162,406,406,0,0,0,201,201,0,406,0,406,0,0,0,0,0,0,0,0,0,0,214,214,214,214,214,406,0,214,401,162,108,0,406,108,318,0,406,184,0,0,402,318,0,406,219,219,219,219,219,406,0,167,0,0,406,406,402,0,0,406,0,162,0,0,401,402,0,236,236,236,236,236,406,0,236,184,0,0,108,108,214,214,236,236,201,201,217,217,167,167,318,318,219,219,399,399,312,312,2,2,408,408,221,221,309,309,449,449,430,430,410,410,108,108,214,214,236,236,201,201,217,217,167,167,318,318,219,219,399,399,312,312,2,2,408,408,221,221,309,309,449,449,430,430,410,410,174,187,186,323,319,108,214,236,201,217,320,167,357,401,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,219,399,312,2,408,221,309,449,430,410,174,174,320,320,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,399,166,320,167,398,168,284,318,282,184,219,399,312,108,214,236,201,217,166,320,167,398,168,284,318,282,184,219,399,312,2,408,221,309,449,430,410,409,409,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,108,214,214,236,236,201,201,217,217,2,2,408,408,221,221,309,309,449,449,430,430,410,410,2,167,284,400,286,354,282,184,219,399,312,357,323,286,319,309,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,284,400,354,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,167,284,400,286,354,282,184,219,399,312,320,167,357,401,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,219,399,312,108,214,236,201,217,320,167,357,401,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,219,399,312,2,408,221,309,449,430,410,108,108,108,108,108,214,214,214,214,214,236,236,236,236,236,201,201,201,201,201,217,217,217,217,217,320,320,320,320,320,167,167,167,167,167,357,357,357,357,357,401,401,401,401,401,321,321,321,321,321,402,402,402,402,402,403,403,403,403,403,323,323,323,323,323,404,404,404,404,404,398,398,398,398,398,168,168,168,168,168,284,284,284,284,284,400,400,400,400,400,286,286,286,286,286,354,354,354,354,354,405,405,405,405,405,406,406,406,406,406,319,319,319,319,319,318,318,318,318,318,282,282,282,282,282,184,184,184,184,184,162,162,162,162,162,219,219,219,219,219,399,399,399,399,399,312,312,312,312,312,2,2,2,2,2,408,408,408,408,408,221,221,221,221,221,309,309,309,309,309,449,449,449,449,449,430,430,430,430,430,410,410,410,410,410,168,162,162,162,286,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,2,408,221,309,449,430,410,284,400,217,320,167,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,184,162,283,219,219,312,408,108,108,214,214,236,236,201,201,217,217,325,325,187,187,186,186,409,409,166,166,320,320,167,167,357,357,401,401,324,324,321,321,402,402,403,403,323,323,404,404,398,398,168,168,284,284,400,400,286,286,354,354,405,405,406,406,319,319,318,318,282,282,184,184,184,162,162,283,283,219,219,399,399,312,312,2,2,408,408,221,221,309,309,449,449,430,430,410,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,320,167,357,401,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,219,399,312,357,221,309,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,398,398,166,406,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,168,284,284,168,284,108,201,217,408,221,449,430,410,284,168,357,321,405,312,108,201,217,408,221,449,430,410,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,357,286,354,221,309,321,284,400,284,325,398,325,325,324,409,283,325,324,217,449,430,404,108,214,236,201,217,2,408,221,309,449,430,410,0,283,283,399,323,319,2,166,320,187,186,167,357,321,168,400,405,162,0,166,320,398,168,184,162,219,404,108,214,236,201,217,2,408,221,309,449,430,410,108,214,236,201,217,2,408,221,309,449,430,410,108,214,236,201,217,166,320,167,398,168,284,318,282,184,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,2,221,410,403,219,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,168,187,186,409,283,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,187,186,282,312,284,284,400,320,219,410,108,214,236,201,217,325,187,186,409,166,320,167,357,401,324,321,402,403,323,404,398,168,284,400,286,354,405,406,319,318,282,184,162,283,219,399,312,2,408,221,309,449,430,410,283,283,450,451,0,230],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2,3],[[5,[4]]]],[[1,2,3],[[5,[6]]]],[[1,2,3],[[5,[7]]]],[[1,2,3],[[5,[8]]]],[[1,2,3],[[5,[7]]]],0,0,[[-1,9],[[5,[10]]],[]],[[-1,9],[[5,[[12,[11]]]]],[]],[[-1,9],[[5,[13]]],[]],[[-1,9],[[5,[[12,[14]]]]],[]],[[-1,9],[[5,[[17,[[12,[[16,[15]]]]]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[18,19],18],[[20,19],20],[[21,19],21],[[22,23],24],[25,[[0,[26]]]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],0,0,0,0,[30,19],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[32,[[5,[33]]]],[34,[[5,[33]]]],[18,35],[20,35],[21,35],[18,19],[20,19],[21,19],[[18,19],[[5,[18]]]],[[20,19],[[5,[20]]]],[[21,19],[[5,[21]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[36,36],[37,37],[38,38],[32,32],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[18,18],[47,47],[34,34],[48,48],[49,49],[33,33],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[20,20],[30,30],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[21,21],[13,13],[64,64],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[43,43],65],[[18,18],65],[[20,20],65],[[21,21],65],[66,[[69,[[68,[67]]]]]],0,[66,[[70,[[68,[67]]]]]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[22,-1],[[5,[37]]],[[73,[72]]]],[22,[[0,[26]]]],0,0,0,[-1,18,74],[-1,55,74],[-1,20,74],[-1,30,75],[-1,56,75],[-1,57,75],[-1,58,75],[-1,21,74],[-1,13,75],[-1,64,75],0,0,0,0,0,[[],22],[56,55],[[22,-1],[[5,[76]]],[[73,[72]]]],[22,[[0,[26]]]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[52,77],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],0,0,[[13,[16,[56]]],[[68,[56]]]],[[18,-1],24,78],[[55,-1],24,78],[[20,-1],24,78],[[30,-1],24,79],[[56,-1],24,79],[[57,-1],24,79],[[58,-1],24,79],[[21,-1],24,78],[[13,-1],24,79],[[64,-1],24,79],0,[22,[[0,[26]]]],0,[[43,43],80],[[44,44],80],[[45,45],80],[[46,46],80],[[18,18],80],[[52,52],80],[[55,55],80],[[20,20],80],[[30,30],80],[[56,56],80],[[57,57],80],[[58,58],80],[[21,21],80],[[64,64],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[51,32],0,0,0,[61,46],0,0,[[13,72],[[5,[19]]]],[[13,72,[16,[56]]],[[5,[56]]]],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],0,[[83,84],85],[[86,84],85],[[87,84],85],[[88,84],85],[[89,84],85],[[36,84],85],[[37,84],85],[[90,84],85],[[91,84],85],[[92,84],85],[[93,84],85],[[94,84],85],[[95,84],85],[[96,84],85],[[38,84],85],[[97,84],85],[[25,84],85],[[98,84],85],[[99,84],85],[[100,84],85],[[101,84],85],[[102,84],85],[[103,84],85],[[104,84],85],[[32,84],85],[[41,84],85],[[42,84],85],[[67,84],85],[[[69,[-1]],84],85,105],[[44,84],85],[[45,84],85],[[46,84],85],[[18,84],85],[[47,84],85],[[34,84],85],[[49,84],85],[[33,84],85],[[50,84],85],[[51,84],85],[[52,84],85],[[53,84],85],[[54,84],85],[[55,84],85],[[20,84],85],[[30,84],85],[[30,84],85],[[56,84],85],[[56,84],85],[[57,84],85],[[57,84],85],[[58,84],85],[[58,84],85],[[59,84],85],[[61,84],85],[[62,84],85],[[63,84],85],[[21,84],85],[[13,84],85],[[106,84],85],[[64,84],85],[[76,84],85],[22,[[0,[26]]]],0,0,[22,[[0,[26]]]],0,[[18,19],[[5,[18]]]],[[20,19],[[5,[20]]]],[[21,19],[[5,[21]]]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[108,43],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[23,44],[45,44],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[109,45],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[19,18],[-1,-1,[]],[35,18],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[49,34],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[19,20],[-1,-1,[]],[35,20],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[58,56],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[35,21],[[[107,[-1]]],-1,[]],[-1,-1,[]],[19,21],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[35,20],[35,18],[35,20],[35,21],[35,18],[35,20],[35,21],[19,18],[19,20],[19,21],0,[[22,-1],[[5,[106]]],[[73,[72]]]],[22,[[0,[26]]]],0,0,[[[69,[-1]],46],[[5,[-1]]],[]],[[22,-1],101,[[73,[23]]]],[[22,9],[[5,[23]]]],[[22,-1],[[5,[91]]],[[73,[72]]]],[[22,23],[[0,[26]]]],[[22,23],83],[[22,23],[[5,[93]]]],[[22,23],[[5,[88]]]],[[22,23],[[5,[97]]]],[[88,23],89],[[22,1,23],[[5,[[16,[53]]]]]],[[22,-1],98,[[73,[23]]]],[[22,-1],25,[[73,[23]]]],0,[[43,-1],24,112],[[44,-1],24,112],[[45,-1],24,112],[[46,-1],24,112],[[18,-1],24,112],[[55,-1],24,112],[[20,-1],24,112],[[30,-1],24,112],[[56,-1],24,112],[[57,-1],24,112],[[58,-1],24,112],[[21,-1],24,112],[[64,-1],24,112],0,0,0,0,[18,19],[18,19],[20,19],[20,35],[20,19],[21,19],[21,19],0,0,[[13,[16,[56]]],[[68,[56]]]],[53,55],[[54,56],55],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],0,[57,[[16,[56]]]],0,[[[70,[-1]],46,-1],24,[]],[[22,37],24],[[22,72,76],24],[[22,23,101],24],[[22,9,23],24],[[22,23,[68,[113]]],24],[[22,23,83],24],[[22,72,106],24],[[22,23,93],24],[[22,23,88],24],[[22,[114,[23,97]]],24],[[22,90],24],[[22,23,13],24],[[22,92],24],[[22,23,98],24],[[22,72,72,19,[68,[56]],56],24],[22,24],[[22,23,25],24],[[58,[16,[56]]],57],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[32,115],[33,115],[56,115],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[13,9],80],[34,80],[56,80],[54,80],[56,80],[98,80],[56,80],[[22,23],80],[56,80],0,0,0,0,0,0,0,0,[66,[[69,[116]]]],0,[66,[[70,[116]]]],0,0,0,0,0,0,[[56,56],56],0,0,[53,21],0,0,0,0,0,0,[-1,66,[[117,[45]]]],[[],22],[19,18],[19,20],[[[68,[56]],56],57],[[19,[68,[56]],56],58],[[21,113],63],[19,21],[[-1,-2,-3,[68,[9]],118],13,[[117,[9]]],28,28],[66,[[69,[56]]]],0,[66,[[70,[56]]]],0,0,[57,56],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[43,43],[[5,[65]]]],[[18,18],[[5,[65]]]],[[20,20],[[5,[65]]]],[[21,21],[[5,[65]]]],0,0,0,0,0,0,0,[22,[[0,[26]]]],[[-1,119],[[5,[-2]]],[],[]],0,[[22,23],13],0,0,0,0,0,[56,56],[58,57],0,0,0,[[22,-1],[[5,[92]]],[[73,[72]]]],[22,120],0,0,0,0,[49,118],[63,118],0,0,0,0,0,0,0,0,0,0,0,0,[[18,18],[[5,[19]]]],[[20,20],[[5,[19]]]],[[21,21],[[5,[19]]]],[[],[[121,[[16,[55]]]]]],[22,[[0,[26]]]],0,[[56,[16,[56]]],56],[63,72],0,[[],77],0,[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],[96,9],0,[[-1,118],13,[[117,[9]]]],0,[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[124,[[107,[52]]]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],0,0,0,[22,[[0,[26]]]],0,[66,[[69,[32]]]],0,[66,[[70,[32]]]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[-1,-1],[[107,[-1]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[88,13],88],0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[19,-1,[]],[19,-1,[]],[19,24],[[126,-1],[[107,[-2,111]]],127,[]],[[126,77],[[107,[-1,111]]],[]],0,[[-1,77],[[81,[-2]]],[],[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[126,128],[[107,[[68,[51]],111]]]],[[],19],[[126,23,97],24],[-1,-2,[],[]],[-1,-2,[],[]],[[126,129],[[107,[42,111]]]],[[126,130],[[107,[102,111]]]],[[126,23],[[107,[102,111]]]],[[126,131],[[107,[100,111]]]],[[126,23],[[107,[100,111]]]],[[1,132,109],[[107,[[24,[88,104]],111]]]],[[126,133],[[107,[32,111]]]],[[126,134],[[107,[83,111]]]],[[126,[16,[135]]],[[107,[[68,[51]],111]]]],[[126,136],[[107,[95,111]]]],[[126,137],[[107,[89,111]]]],[[126,128],[[107,[93,111]]]],[[1,132,109],[[107,[88,111]]]],[126,[[107,[88,111]]]],[[126,128],[[107,[88,111]]]],[126,[[107,[[24,[88,93]],111]]]],[[126,138],[[107,[41,111]]]],[[126,139],[[107,[40,111]]]],[[126,140],[[107,[97,111]]]],[[126,141],[[107,[33,111]]]],[[126,[5,[142]],141],[[107,[32,111]]]],[[126,143],[[107,[96,111]]]],[126,[[107,[93,111]]]],[[126,144],[[107,[32,111]]]],[[1,109],13],[[1,132,109],[[107,[[5,[32]],111]]]],[[126,142],[[107,[32,111]]]],[[1,132,109],[[107,[[24,[88,93,25]],111]]]],[[126,[16,[145]]],[[107,[[68,[50]],111]]]],[126,103],[[126,146,128],103],[[126,147],[[107,[94,111]]]],[[1,132,109,[5,[[114,[23,97]]]]],126],0,0,0,0,[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],[[126,109],126],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],0,[19,-1,[]],[19,-1,[]],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[-1,-2,[],[]],[[148,149],[[150,[-1]]],151],[-1,-2,[],[]],[[1,-1,77],148,[[117,[9]]]],0,0,[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],0,[[-1,34],24,[]],[[-1,87],24,[]],[[-1,101],24,[]],[[-1,59],24,[]],[[-1,100],24,[]],[[-1,86],24,[]],[[-1,83],24,[]],[[-1,57],24,[]],[[-1,51],24,[]],[[-1,63],24,[]],[[-1,41],24,[]],[[-1,62],24,[]],[[-1,58],24,[]],[[-1,49],24,[]],[[-1,47],24,[]],[[-1,53],24,[]],[[-1,56],24,[]],[[-1,98],24,[]],[[-1,32],24,[]],[[-1,50],24,[]],[[-1,102],24,[]],[[-1,103],24,[]],[[-1,34],24,152],[[-1,87],24,152],[[-1,101],24,152],[[-1,59],24,152],[[-1,100],24,152],[[-1,86],24,152],[[-1,83],24,152],[[-1,57],24,152],[[-1,51],24,152],[[-1,58],24,152],[[-1,49],24,152],[[-1,47],24,152],[[-1,53],24,152],[[-1,56],24,152],[[-1,98],24,152],[[-1,32],24,152],[[-1,50],24,152],[[-1,102],24,152],[[-1,103],24,152],0,0,0,[[153,-1],[[154,[10]]],[[117,[9]]]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[-1,31,[]],[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[153,-1],[[154,[[155,[66]]]]],[[117,[44]]]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[153,-1],[[5,[37]]],[[73,[72]]]],[153,156],0,[[153,30,[16,[56]]],80],[153,[[154,[157]]]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[[153,9,[16,[56]]],[[68,[56]]]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[153,9,72],[[5,[19]]]],[[153,9,[158,[56]],72],[[5,[56]]]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[[153,-1],[[154,[[12,[11]]]]],[[117,[9]]]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[153,-1],[[5,[106]]],[[73,[72]]]],[153,[[0,[26]]]],[[153,-1],[[154,[159]]],[[117,[9]]]],[[153,23],89],[[153,56],80],[153,160],[[153,-1,[16,[56]]],[[68,[56]]],[[117,[9]]]],[[],19],[[],19],[[],19],[[153,159,161,162],[[154,[163]]]],[[153,159,161,162],[[154,[163]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[153,52],80],[[153,9],80],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[153,9],[[154,[[12,[[158,[164]]]]]]]],[[153,9],[[5,[9]]]],[[153,9],[[154,[[166,[165]]]]]],[[153,23],[[154,[[158,[167]]]]]],[[153,-1],[[154,[[166,[168]]]]],[[117,[9]]]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[153,22],0,[153,22],[[153,23],[[154,[[155,[169]]]]]],[[153,170,170],170],0,[[1,132,[171,[156]]],153],[[153,-1],[[154,[[12,[172]]]]],[[117,[9]]]],[153,173],[[153,23],[[154,[[0,[26]]]]]],0,[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[153,159,168],[[154,[170]]]],[[153,159,174],[[154,[175]]]],[[153,159,168],[[154,[170]]]],0,[[153,34],[[5,[56]]]],[[153,9],[[5,[56]]]],[[153,33],[[5,[56]]]],[[153,9,3],[[5,[56]]]],[[153,9],[[5,[56]]]],[[153,32],[[5,[56]]]],0,0,[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[153,9],[[154,[[12,[14]]]]]],[[153,9],[[16,[176]]]],[[153,9,177],[[154,[[17,[[12,[15]]]]]]]],[[153,9],[[154,[[17,[[12,[178]]]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[[180,[179]]],179],[[181,182],170],[-1,179,28],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[[158,[179]]]]]],0,0,[[170,184],170],[-1,31,[]],[[[185,[[16,[162]]]]],186],[[[185,[[16,[162]]]]],187],[[[185,[[16,[163]]]]],188],[[[185,[-1]]],-1,[189,190]],[[[185,[191]]],[[16,[179]]]],[[[185,[191]],[5,[183]]],179],[[192,-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[170,170],[[],170],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],170],[[[185,[-1]]],[[185,[-1]]],[189,190]],[[-1,-2],24,[],[]],[[9,-1],170,[[117,[[158,[170]]]]]],[[[185,[-1]],[185,[-1]]],65,[193,189]],[[[158,[-1]],[158,[-1]]],65,193],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[9,[5,[183]]],179],[[192,6,6],[[5,[6]]]],[6,179],[[6,[5,[183]]],179],[[-1,170],170,[[117,[179]]]],[-1,[[185,[[16,[-2]]]]],74,[[194,[-1]]]],[-1,[[185,[-2]]],74,[[194,[-1]],189]],[[[185,[-1]]],[],[189,190]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[[10,195],170],[[10,175,170,177,[158,[170]]],170],[[[185,[-1]]],24,[189,190]],[19,24],[19,24],[[[185,[-1]]],24,[189,190]],[35,179],[[],[[158,[-1]]],[]],[[],[[158,[-1]]],[]],[[[185,[-2]],-1],24,78,[[196,[-1]],189]],[[[185,[[16,[-2]]]],-1],24,78,[[196,[-1]]]],[[[185,[-1]],[185,[-1]]],80,189],[[[185,[[16,[-1]]]],[185,[[16,[-1]]]]],80,[]],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[[185,[191]],[16,[197]]],[[180,[179]]]],[[[185,[191]],197],179],[198,179],[[[180,[170]]],170],[[199,179],170],[[[185,[191]]],[[16,[179]]]],[[],179],[[153,[68,[163]],159,-1],[[154,[24]]],200],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[201,170],[[[185,[-1]],84],85,[105,189,190]],[[[185,[-1]],202,84],85,[203,189]],[[[185,[-1]],84],85,[204,189,190]],[[[158,[170]],202,84],85],[[197,-1],179,200],[-1,-1,[]],[[[68,[-1]]],[[185,[[16,[-1]]]]],[]],[[[107,[-1]]],-1,[]],[[[16,[-1]]],[[185,[[16,[-1]]]]],205],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[206,[-1]]],[[158,[-1]]],[]],[[[206,[-1]]],[[158,[-1]]],[]],[[199,7],179],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[-1,[[158,[-2]]],28,[]],[[[16,[-1]]],[[158,[-1]]],205],[[[16,[-1]]],[[158,[-1]]],205],[[[68,[-1]]],[[158,[-1]]],[]],[[[68,[-1]]],[[158,[-1]]],[]],[207,179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[9,-1],170,[[117,[[158,[163]]]]]],[[[121,[-1]]],[[211,[[208,[-1]],24,[210,[209]]]]],[189,190]],[[72,64],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[[185,[-1]],-2],24,[189,190],112],0,[212,179],[[153,-1],[[154,[[185,[[16,[163]]]]]]],[[117,[9]]]],0,0,[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[199,-1],170,[[117,[213]]]],[[],19],[[],19],[214,170],[214,179],[214,179],[-1,-2,[],[]],[-1,-2,[],[]],[[[185,[[16,[-1]]]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[[185,[191]]],80],[[-1,-2,-3,[5,[183]]],179,[[117,[179]]],[[117,[179]]],[[117,[179]]]],[[[185,[191]]],215],[216,179],[[217,35],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[-2,-3],[[158,[-1]]],[],[[73,[[16,[-1]]]]],71],[[-2,-3],[[158,[-1]]],[],[[73,[[16,[-1]]]]],71],[[218,[5,[183]]],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],0,0,[[219,170,108],170],[170,170],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[[185,[191]]],179],[[],170],[-1,[[185,[-1]]],189],[[],[[121,[-1]]],190],[[[185,[191]]],179],[[],179],[[],179],[[-1,175,220],170,[[117,[9]]]],[-1,179,28],[221,170],[[[185,[-1]],[185,[-1]]],[[5,[65]]],[222,189]],[[[158,[-1]],[158,[-1]]],[[5,[65]]],222],[[179,223],179],[182,170],[[-1,-2],170,[[117,[224]]],[[117,[225]]]],0,[-1,[[24,[[228,[[227,[[208,[-1]],[226,[24]],[210,[209]]]]]],229]]],[189,190]],0,0,[[[185,[191]]],179],[-1,[[158,[-1]]],[]],[-1,[[158,[-1]]],[]],[[[185,[191]]],[[5,[183]]]],[[],[[121,[-1]]],[]],[[],[[121,[[16,[-1]]]]],[]],[[],170],[[[158,[-1]],[16,[162]]],[[158,[-1]]],230],[[[185,[191]]],[[5,[231]]]],[-1,-2,[],[]],[[[185,[191]]],[[5,[225]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[[185,[[16,[232]]]]],[[158,[197]]]],[[[158,[232]]],[[158,[197]]]],[-1,122,[]],[[[185,[191]]],[[5,[233]]]],[[[158,[-1]],-2],[[107,[[158,[-1]]]]],234,235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[],179],[-1,170,[[117,[[158,[170]]]]]],[-1,179,[[117,[[158,[179]]]]]],[[-1,35,[5,[183]]],179,[[117,[179]]]],[[-1,[16,[35]]],179,[[117,[179]]]],[-1,125,[]],[-1,125,[]],[236,170],[236,179],[[237,-1,[5,[183]]],179,[[117,[179]]]],[[[185,[238]]],170],[[[185,[238]]],[[24,[170,179]]]],[[],170],[[],170],[[],179],[[],170],[[233,[5,[183]]],179],[[[158,[-1]],-2],[[239,[24]]],240,241],[-1,-2,[],[]],[-1,-2,[],[]],[[],179],0,0,0,0,0,0,0,0,0,0,[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[242,242],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],0,0,[9,122],[1,202],[1,202],0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[19,24],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,202,84],85,[]],[[[243,[-1]],84],85,203],[[[244,[-1]],202,84],85,26],[[[244,[-1]],84],85,26],[[[245,[-1]],202,84],85,203],0,[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[246,[[5,[-1]]],[]],[246,[[5,[242]]]],0,[[202,80],202],0,[[202,80],202],0,0,[[202,80],202],0,0,0,[[],19],[[],19],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[202,242],202],0,[[202,246],24],[[202,-1],[[243,[-1]]],[]],[[77,-1],[[244,[-2]]],28,[]],[[-1,80],[[245,[-1]]],[]],0,0,[[84,-1,[5,[77]]],85,203],0,0,0,[[202,80],202],0,0,0,0,[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[[247,153,9],[[154,[10]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[247,153,44],[[154,[[155,[66]]]]]],0,0,[248,248],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[],173],[[],247],[[247,153],[[154,[157]]]],0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[248,84],85],[[247,153,9],[[154,[[12,[11]]]]]],0,0,[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[111,248],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[247,153],[[250,[72,249]]]],0,0,[[247,153,9],[[154,[159]]]],0,0,[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[248,149],[[150,[111]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[247,153,9],[[154,[[12,[[158,[164]]]]]]]],0,0,[[247,153,9],[[154,[[166,[165]]]]]],0,[[247,153,23],[[154,[[158,[167]]]]]],0,[[247,153,9],[[154,[[166,[168]]]]]],0,[[247,153,23],[[154,[[155,[169]]]]]],0,[[247,153,9],[[154,[[12,[172]]]]]],0,0,0,[[247,153],[[154,[[16,[251]]]]]],0,0,[[[252,[[114,[-1,-2]]]],-1,-3],-2,[253,254],205,71],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[247,153,9],[[154,[[12,[14]]]]]],0,0,[[1,9,255],248],0,[[247,153,9],[[154,[[17,[[12,[178]]]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[10,-1],199,[[117,[175]]]],0,[[181,182],170],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[6,6],[[5,[6]]]],[[256,-1],197,[[117,[[158,[197]]]]]],0,0,0,0,0,0,[257,[[16,[170]]]],0,0,0,0,0,0,0,[[170,184],170],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[238,[[5,[199]]]],[[[17,[-1]]],17,258],[[[12,[-1]]],12,258],[175,188],[[[259,[-1]]],[[5,[-1]]],[]],[[[17,[-1]]],[[17,[-1]]],[]],[[[180,[-1]]],[[180,[-1]]],[]],[[[12,[-1]]],[[12,[-1]]],[]],0,0,0,[170,170],0,[[],170],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[175,[[24,[170,170]]]],[[],170],[192,192],[237,237],[6,6],[159,159],[260,260],[161,161],[261,261],[172,172],[164,164],[262,262],[263,263],[264,264],[265,265],[266,266],[267,267],[256,256],[268,268],[197,197],[269,269],[270,270],[10,10],[[[17,[-1]]],[[17,[-1]]],205],[271,271],[272,272],[232,232],[[[180,[-1]]],[[180,[-1]]],205],[[[12,[-1]]],[[12,[-1]]],205],[[[259,[-1]]],[[259,[-1]]],205],[257,257],[273,273],[274,274],[238,238],[275,275],[224,224],[213,213],[199,199],[182,182],[181,181],[163,163],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[9,-1],170,[[117,[[158,[170]]]]]],[[159,153,-1],[[154,[-3]]],200,[],[[276,[-2]]]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,170],170,[[117,[179]]]],0,[-1,256,75],[-1,268,75],[-1,197,75],[-1,269,75],[-1,270,75],[-1,10,75],[-1,277,75],[-1,[[17,[-2]]],75,[[194,[-1]]]],[-1,271,75],[-1,272,75],[-1,232,75],[-1,[[180,[-2]]],75,[[194,[-1]]]],[-1,[[12,[-2]]],75,[[194,[-1]]]],[-1,[[259,[-2]]],74,[[194,[-1]]]],[-1,257,75],[-1,273,75],[-1,274,75],[-1,238,75],[-1,275,75],[-1,224,75],[-1,213,75],[-1,199,75],[-1,182,75],[-1,181,75],[-1,163,75],0,0,0,0,0,[1,202],[1,202],[197,55],0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[10,9],[[10,195],170],[[10,175,170,177,[158,[170]]],170],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[256,-1],24,79],[[268,-1],24,79],[[197,-1],24,79],[[269,-1],24,79],[[270,-1],24,79],[[10,-1],24,79],[[277,-1],24,79],[[[17,[-2]],-1],24,79,[[196,[-1]]]],[[271,-1],24,79],[[272,-1],24,79],[[232,-1],24,79],[[[180,[-2]],-1],24,79,[[196,[-1]]]],[[[12,[-2]],-1],24,79,[[196,[-1]]]],[[[259,[-2]],-1],24,78,[[196,[-1]]]],[[257,-1],24,79],[[273,-1],24,79],[[274,-1],24,79],[[238,-1],24,79],[[275,-1],24,79],[[224,-1],24,79],[[213,-1],24,79],[[199,-1],24,79],[[182,-1],24,79],[[181,-1],24,79],[[163,-1],24,79],0,[[192,192],80],[[237,237],80],[[6,6],6],[[6,6],80],[[260,260],80],[[161,161],80],[[261,261],80],[[164,164],80],[[262,262],80],[[263,263],80],[[264,264],80],[[265,265],80],[[266,266],80],[[267,267],80],[[256,256],80],[[268,268],80],[[197,197],80],[[269,269],80],[[270,270],80],[[10,10],80],[[277,277],80],[[271,271],80],[[272,272],80],[[232,232],80],[[[180,[-1]],[180,[-1]]],80,278],[[[259,[-1]],[259,[-1]]],80,278],[[274,274],80],[[238,238],80],[[275,275],80],[[224,224],80],[[213,213],80],[[199,199],80],[[182,182],80],[[181,181],80],[[163,163],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,[[[180,[170]]],170],[[199,179],170],[[[17,[-1]],77],-1,[]],[238,[[24,[10,[16,[163]],213]]]],[238,[[24,[10,195]]]],[197,270],[[[259,[-1]]],-1,[]],[232,[[24,[197,55]]]],[232,197],[238,[[16,[170]]]],[163,170],0,0,0,[272,[[16,[170]]]],0,[[153,[68,[163]],159,-1],[[154,[24]]],200],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[197,[[68,[197]]]],[201,170],[[192,202,84],85],[[192,84],[[107,[24,279]]]],[[192,84],[[107,[24,279]]]],[[237,202,84],85],[[237,84],[[107,[24,279]]]],[[237,84],[[107,[24,279]]]],[[6,84],[[107,[24,279]]]],[[6,84],[[107,[24,279]]]],[[11,202,84],85],[[159,84],85],[[260,84],85],[[161,84],85],[[261,84],85],[[172,84],85],[[164,84],85],[[262,84],85],[[262,202,84],85],[[263,84],85],[[264,84],85],[[265,84],85],[[266,84],85],[[267,84],85],[[256,202,84],85],[[268,84],85],[[197,84],85],[[197,202,84],85],[[269,84],85],[[269,202,84],85],[[270,202,84],85],[[270,84],85],[[10,84],85],[[277,84],85],[[[17,[-1]],84],85,105],[[271,84],85],[[272,202,84],85],[[272,84],85],[[232,202,84],85],[[232,84],85],[[[180,[-1]],84],85,203],[[[180,[179]],202,84],85],[[[180,[-1]],202,84],85,203],[[[180,[273]],202,84],85],[[[12,[-1]],84],85,105],[[[259,[-1]],84],85,105],[[257,84],85],[[257,202,84],85],[[273,84],85],[[274,84],85],[[274,202,84],85],[[251,84],85],[[249,84],85],[[280,84],85],[[238,202,84],85],[[238,84],85],[[275,84],85],[[224,84],85],[[224,202,84],85],[[213,202,84],85],[[213,84],85],[[199,84],85],[[199,202,84],85],[[182,84],85],[[181,202,84],85],[[181,84],85],[[163,202,84],85],[[163,84],85],0,[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[80,6],[281,6],[8,6],[7,6],[19,6],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[19,268],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[282,213],[[[107,[-1]]],-1,[]],[[[24,[179,[259,[80]]]]],213],[179,213],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[161,163],[[219,108],224],0,[[6,6],[[5,[6]]]],[[9,-1],170,[[117,[[158,[163]]]]]],0,[[6,6],[[5,[6]]]],[[192,-1],24,112],[[237,-1],24,112],[[6,-1],24,112],[[260,-1],24,112],[[161,-1],24,112],[[261,-1],24,112],[[164,-1],24,112],[[262,-1],24,112],[[263,-1],24,112],[[264,-1],24,112],[[265,-1],24,112],[[266,-1],24,112],[[267,-1],24,112],[[256,-1],24,112],[[268,-1],24,112],[[197,-1],24,112],[[269,-1],24,112],[[270,-1],24,112],[[10,-1],24,112],[[277,-1],24,112],[[271,-1],24,112],[[272,-1],24,112],[[232,-1],24,112],[[[180,[-1]],-2],24,253,112],[[[259,[-1]],-2],24,253,112],[[274,-1],24,112],[[238,-1],24,112],[[275,-1],24,112],[[224,-1],24,112],[[213,-1],24,112],[[199,-1],24,112],[[182,-1],24,112],[[181,-1],24,112],[[163,-1],24,112],[[153,-1],[[154,[175]]],[[117,[9]]]],0,[[6,6],[[5,[6]]]],[[6,6],[[5,[6]]]],0,0,0,0,[[199,-1],170,[[117,[213]]]],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[269,[[16,[197]]]],0,[[[12,[-1]],[16,[163]],[16,[179]]],-1,234],[[[12,[172]],153,[16,[179]]],[[154,[[68,[164]]]]]],[[[12,[-1]],[16,[179]]],-1,234],[[[12,[172]],153,[16,[179]],[68,[164]]],[[154,[24]]]],[214,170],[[214,80],[[16,[271]]]],[35,6],[35,6],[275,170],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[180,[170]]],170],[199,170],[10,[[16,[271]]]],[[199,80],[[16,[271]]]],0,[238,80],[199,80],0,[197,80],[238,80],[199,80],[10,80],[238,80],[199,80],[238,80],[199,80],[10,80],[238,80],[199,80],[10,80],[197,80],[238,80],[199,80],[10,80],[238,80],[199,80],[[-1,1,80],80,[]],[[[180,[179]]],80],[238,80],[199,80],[238,80],[197,80],[163,80],[275,80],[164,262],[238,275],0,0,0,0,0,0,0,[[-1,1,80],[[5,[-2]]],[],[]],[[[17,[-1]],-2],[[17,[-3]]],[],71,[]],[[[180,[-1]],-2],[[180,[-3]]],[],71,[]],[[[12,[-1]],-2],[[12,[-3]]],[],71,[]],[[219,170,108],170],[170,170],0,0,0,0,0,0,0,[[6,6],6],[[],170],[[[283,[163]]],188],[[-1,262],164,[[117,[[158,[232]]]]]],[[[68,[197]],197],269],[[19,269],270],[[284,197,[68,[271]],80],10],[[10,175,[158,[170]],179],272],[[-1,[158,[232]]],[[180,[-1]]],[]],[[-1,-2,[180,[273]]],257,[[117,[[158,[274]]]]],[[117,[[158,[170]]]]]],[[170,-1],273,[[117,[[158,[274]]]]]],[[9,-1,-2],182,[[117,[175]]],[[117,[220]]]],0,0,0,[[[17,[-1]],-2],[[107,[-1,-3]]],[],71,[]],[[-1,175,220],170,[[117,[9]]]],0,[[6,6],[[5,[6]]]],[269,197],[257,[[180,[273]]]],0,0,0,[221,170],[[159,19,153],[[154,[161]]]],[270,19],0,0,0,0,0,0,0,[[[12,[172]]],[[12,[[158,[164]]]]]],0,0,0,0,0,0,[182,170],0,0,0,[[-1,-2],170,[[117,[224]]],[[117,[225]]]],[[[180,[-1]],-2],[[180,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],0,[159,19],[[159,19,153],[[154,[260]]]],0,0,[[[180,[-1]],179],-1,234],[[[180,[-1]],[16,[179]]],-1,234],[[[180,[-1]],-2],-1,234,200],[[[180,[-1]],-2,-3],-1,234,200,200],[257,285],0,[188,170],[272,170],0,0,0,[182,170],0,0,[[[180,[-1]]],-1,[]],[[[12,[-1]]],-1,[]],[270,269],[170,199],[10,197],[199,197],0,0,0,0,[188,[[283,[163]]]],[[[259,[-1]]],[[0,[26]]],[]],[[],[[121,[[16,[15]]]]]],[[],[[121,[[16,[170]]]]]],[[],[[121,[[16,[260]]]]]],[[],[[121,[[16,[161]]]]]],[[],[[121,[[16,[164]]]]]],[[],[[121,[[16,[197]]]]]],[[],[[121,[277]]]],[[],[[121,[[16,[271]]]]]],[[],[[121,[[16,[232]]]]]],[[],[[121,[[16,[[259,[80]]]]]]]],[[],[[121,[[16,[274]]]]]],[[],[[121,[238]]]],[[],[[121,[[16,[163]]]]]],[[],170],0,[[170,-1],[[239,[24]]],241],[[[180,[-1]],-2],239,240,241],[[199,-1],[[239,[24]]],241],0,[[266,9,[158,[170]]],11],[267,11],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[12,[15]]],[[12,[11]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],0,[[[17,[[107,[-1,-2]]]]],[[107,[[17,[-1]],-2]]],[],[]],[[170,-1],[[107,[170]]],235],[[164,-1],[[107,[164]]],235],[[262,-1],[[107,[262]]],235],[[263,-1],[[107,[263]]],235],[[264,-1],[[107,[264]]],235],[[265,-1],[[107,[265]]],235],[[266,-1],[[107,[266]]],235],[[267,-1],[[107,[267]]],235],[[197,-1],[[107,[197]]],235],[[[17,[-1]],-2],[[107,[[17,[-1]]]]],234,235],[[271,-1],[[107,[271]]],235],[[272,-1],[[107,[272]]],235],[[232,-1],[[107,[232]]],235],[[[180,[-1]],-2],[[107,[[180,[-1]]]]],234,235],[[257,-1],[[107,[257]]],235],[[273,-1],[[107,[273]]],235],[[274,-1],[[107,[274]]],235],[[251,-1],[[107,[251]]],235],[[213,-1],[[107,[213]]],235],[[199,-1],[[107,[199]]],235],[[182,-1],[[107,[182]]],235],[[163,-1],[[107,[163]]],235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[[180,[-1]],-2],[[107,[[180,[-3]],-4]]],[],71,[],[]],[[[12,[-1]],-2],[[107,[[12,[-3]],-4]]],[],71,[],[]],[[170,-1],[[107,[170]]],235],[[197,-1],[[107,[197]]],235],[[[180,[-1]],-2],[[107,[[180,[-1]]]]],234,235],[[199,-1],[[107,[199]]],235],[-1,170,[[117,[[158,[170]]]]]],[-1,197,[[117,[[158,[197]]]]]],0,[188,170],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[236,170],[[236,80],[[16,[271]]]],[35,6],[170,170],[170,[[24,[170,179]]]],[[],170],[[],170],[[],197],[[],[[259,[-1]]],[]],[[],213],[[],170],0,0,0,0,[[10,177],286],[10,[[287,[177,286]]]],[[[180,[-1]]],[[158,[232]]],[]],0,0,0,0,[[170,-1],[[239,[24]]],241],[[164,-1],239,241],[[262,-1],239,241],[[263,-1],[[239,[24]]],241],[[264,-1],[[239,[24]]],241],[[265,-1],[[239,[24]]],241],[[266,-1],239,241],[[267,-1],[[239,[24]]],241],[[197,-1],239,241],[[[17,[-1]],-2],[[239,[24]]],240,241],[[271,-1],[[239,[24]]],241],[[272,-1],239,241],[[232,-1],239,241],[[[180,[-1]],-2],239,240,241],[[257,-1],[[239,[24]]],241],[[273,-1],[[239,[24]]],241],[[274,-1],[[239,[24]]],241],[[251,-1],[[239,[24]]],241],[[213,-1],[[239,[24]]],241],[[199,-1],[[239,[24]]],241],[[182,-1],[[239,[24]]],241],[[163,-1],[[239,[24]]],241],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[197,-1],24,200],[[-1,197],[[180,[-1]]],[]],[[-1,-2],[[180,[-1]]],[],28],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[288,19],288],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[288,35],[288,19],[[288,19],[[5,[288]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[198,198],[288,288],[289,289],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[198,198],65],[[288,288],65],[[289,289],65],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[198,289],0,[-1,198,74],[-1,288,74],[-1,289,74],[[],290],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[198,-1],24,78],[[288,-1],24,78],[[289,-1],24,78],[[198,198],80],[[288,288],80],[[289,289],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,0,0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[291,24],[[291,84],85],[[290,84],85],[[198,202,84],85],[[198,84],85],[[292,84],85],[[293,84],85],[[288,84],85],[[289,84],85],[[288,19],[[5,[288]]]],[[290,289],198],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[35,288],[19,288],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[35,288],[35,288],[19,288],[[291,198],[[5,[179]]]],[[198,-1],24,112],[[288,-1],24,112],[[289,-1],24,112],0,[288,19],[288,19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[291,[[0,[26]]]],[[],290],[19,288],[290,289],[[198,198],[[5,[65]]]],[[288,288],[[5,[65]]]],[[289,289],[[5,[65]]]],0,0,[290,[[107,[291,292]]]],[[288,288],[[5,[19]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[[290,198,-1,80],24,[[117,[179]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[180,[179]]],179],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[294,19],294],[[207,19],207],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[-1,179,28],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[[158,[179]]]]]],0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[179,[[16,[179]]]],[294,35],[207,35],[294,19],[207,19],[[179,[5,[183]]],179],[[294,19],[[5,[294]]]],[[207,19],[[5,[207]]]],[183,[[5,[118]]]],0,[[192,-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[191,191],[183,183],[295,295],[215,215],[212,212],[216,216],[233,233],[225,225],[231,231],[294,294],[207,207],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[233,233],65],[[225,225],65],[[231,231],65],[[294,294],65],[[207,207],65],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[9,[5,[183]]],179],[[192,6,6],[[5,[6]]]],[6,179],[[6,[5,[183]]],179],[-1,191,75],[-1,183,75],[-1,295,75],[-1,215,75],[-1,212,75],[-1,216,75],[-1,233,74],[-1,225,74],[-1,231,74],[-1,294,74],[-1,207,74],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[35,179],[[191,-1],24,79],[[183,-1],24,79],[[295,-1],24,79],[[215,-1],24,79],[[212,-1],24,79],[[216,-1],24,79],[[233,-1],24,78],[[225,-1],24,78],[[231,-1],24,78],[[294,-1],24,78],[[207,-1],24,78],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[191,191],80],[[183,183],80],[[295,295],80],[[215,215],80],[[212,212],80],[[216,216],80],[[233,233],80],[[225,225],80],[[231,231],80],[[294,294],80],[[207,207],80],[[-1,-2,[5,[183]]],179,[[117,[179]]],[[117,[179]]]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,[[179,[16,[197]]],[[180,[179]]]],[[179,197],179],[198,179],[179,[[16,[179]]]],[[],179],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[179,202,84],85],[[179,84],85],[[183,84],85],[[295,84],85],[[212,84],85],[[216,84],85],[[216,202,84],85],[[233,84],85],[[233,202,84],85],[[225,202,84],85],[[225,84],85],[[231,84],85],[[231,202,84],85],[[294,84],85],[[207,84],85],[[197,-1],179,200],[[294,19],[[5,[294]]]],[[207,19],[[5,[207]]]],[179,179],[281,179],[225,179],[207,179],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[231,225],[[[107,[-1]]],-1,[]],[-1,-1,[]],[218,231],[207,231],[19,294],[[[107,[-1]]],-1,[]],[-1,-1,[]],[35,294],[35,207],[[[107,[-1]]],-1,[]],[19,207],[-1,-1,[]],[[199,7],179],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[195,[[5,[225]]]],[35,294],[35,207],[35,294],[35,207],[19,294],[19,207],[207,179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[72,64],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[191,-1],24,112],[[183,-1],24,112],[[295,-1],24,112],[[215,-1],24,112],[[212,-1],24,112],[[216,-1],24,112],[[233,-1],24,112],[[225,-1],24,112],[[231,-1],24,112],[[294,-1],24,112],[[207,-1],24,112],0,[212,179],0,[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[294,19],[294,19],[207,19],[207,19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[214,179],[214,179],[215,179],[[215,[5,[183]]],179],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[179,80],[179,80],[179,80],[179,80],[179,80],[179,80],[[-1,-2,-3,[5,[183]]],179,[[117,[179]]],[[117,[179]]],[[117,[179]]]],[179,215],0,[216,179],0,[[217,35],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],0,0,[[218,[5,[183]]],179],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[-1,-2],179,[[117,[179]]],[[117,[179]]]],[179,179],[118,183],[118,295],[[294,19,[68,[179]]],216],[[231,-1],225,[[117,[[158,[223]]]]]],[19,294],[19,207],[179,179],[[],179],[[],179],[-1,179,28],[[233,233],[[5,[65]]]],[[225,225],[[5,[65]]]],[[231,231],[[5,[65]]]],[[294,294],[[5,[65]]]],[[207,207],[[5,[65]]]],[[179,223],179],0,0,0,[225,[[16,[223]]]],0,[216,[[16,[179]]]],[216,[[16,[179]]]],0,[179,179],[179,[[5,[183]]]],[183,118],[295,118],0,[[294,294],[[5,[19]]]],[[207,207],[[5,[19]]]],[[],[[121,[[16,[179]]]]]],[[],[[121,[191]]]],[[],[[121,[[16,[216]]]]]],[[179,-1],[],[[117,[179]]]],[[179,-1],[],[[117,[179]]]],[[179,-1],[[239,[24]]],241],[233,179],[225,179],[231,179],[179,[[5,[231]]]],[225,[[5,[231]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[179,[[5,[225]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[179,[[5,[233]]]],[[179,-1],[[107,[179]]],235],[[212,-1],[[107,[212]]],235],[[216,-1],[[107,[216]]],235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[179,-1],[[107,[179]]],235],[[],179],[-1,179,[[117,[[158,[179]]]]]],[[-1,35,[5,[183]]],179,[[117,[179]]]],[[-1,[16,[35]]],179,[[117,[179]]]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[236,179],[[237,-1,[5,[183]]],179,[[117,[179]]]],[[],179],[[233,[5,[183]]],179],[[179,-1],[[239,[24]]],241],[[212,-1],[[239,[24]]],241],[[216,-1],[[239,[24]]],241],[[233,-1],[[239,[24]]],241],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[183,183],183],[[],179],0,0,0,0,0,0,0,0,[-1,31,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[296,296],65],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[19,-1,[]],[19,-1,[]],[19,24],[[296,296],80],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,77],[[81,[-2]]],[],[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[296,80],[[296,296],[[5,[65]]]],[192,296],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,[[-1,[180,[-2]]],[[180,[-2]]],[],234],[[-1,199],199,[]],[[-1,179],179,[]],[[-1,219],219,[]],[[-1,197],197,[]],[[-1,170],170,[]],[[-1,-2],-1,[],297],[-1,[[298,[207]]],[]],[-1,80,[]],[[-1,157],-1,[]],[[-1,153,299,9,[16,[179]]],[[154,[-1]]],[]],[-1,300,[]],[[-1,291],-1,[]],[[-1,-2],-1,[],200],[[-1,35],-1,[]],[[-1,35],-1,[]],[[-1,-2],-1,[],297],[[-1,-2],[[239,[24]]],[],241],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,199],[[107,[199]]],[]],[[-1,179],[[107,[179]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,170],[[107,[170]]],[]],[[-1,-2],[[107,[-1]]],[],235],[[-1,-2],[[107,[-1]]],[],235],[[-1,[180,[-2]]],239,[],240],[[-1,199],239,[]],[[-1,179],239,[]],[[-1,207],239,[]],[[-1,170],239,[]],[[-1,-2],[[239,[24]]],[],241],[-1,-1,[]],0,0,0,[[301,179,[16,[179]],[5,[183]]],179],[[179,[5,[183]]],179],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[],157],[[157,[180,[179]]],[[298,[72]]]],0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[301,179],179],[[302,179],179],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[157,72],[[5,[303]]]],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[157,301],[183,302],[[[250,[72,303]]],[[107,[157,[68,[72]]]]]],[157,[[107,[157,[68,[72]]]]]],[157,[[107,[[68,[72]],[68,[72]]]]]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,199],[[107,[199]]],[]],[[-1,199],[[107,[199]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[301,179,35],179],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[304,182,[68,[305]]],[[154,[24]]]],[[304,182,[68,[305]]],24],[[[16,[164]],182,[68,[305]]],24],[[304,182,[68,[305]]],[[154,[24]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[304,305,182],[[154,[170]]]],0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[305,84],85],[[306,84],85],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],0,[[306,307,163],24],[[306,308,219],24],[[306,3,170],24],[[],19],[[],19],[[],19],[[306,309,219],24],[[306,221,170],24],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[181,310],[[1,182],311],[312,313],[[1,199],3],[[1,163],307],[[1,[16,[163]]],314],[[1,219],308],[[1,170],3],[[1,315,3,170],[[68,[163]]]],[[153,299,9,[16,[179]]],[[154,[304]]]],[[304,182],[[154,[170]]]],0,[304,316],0,[304,1],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[304,170],[[107,[170]]]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[317,9],[[154,[10]]]],[317,317],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[153,159],317],[19,-1,[]],[19,-1,[]],[19,24],[[-1,77],[[81,[-2]]],[],[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],0,[[317,9],[[154,[159]]]],0,[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[[317,159,[16,[162]],-1],[[154,[175]]],200],[[317,9,[16,[162]],-1],[[154,[175]]],200],[[153,159],317],[[317,221],[[154,[161]]]],0,[318,181],[[317,318,319],[[154,[182]]]],[[317,9,318],[[154,[220]]]],[[317,[320,[-1]],-2],[[154,[[180,[-3]]]]],[],200,[]],[[[16,[167]]],[[158,[232]]]],[[317,[16,[321]],321],[[154,[[5,[164]]]]]],[[317,[16,[321]]],[[154,[[158,[164]]]]]],[199,[[180,[170]]]],[[317,[16,[321]],322,323],[[154,[262]]]],[[317,161,162],[[154,[163]]]],[[317,162],[[154,[163]]]],[[317,324],[[154,[172]]]],[[153,325],[[154,[159]]]],[[317,165],[[154,[11]]]],[[317,168],[[154,[14]]]],[[317,323],[[154,[264]]]],[[317,168],[[154,[170]]]],[[317,9,[16,[168]]],[[154,[15]]]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,-2,[],[]],[[153,159],317],0,0,0,0,0,0,[[326,-1],-1,234],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[327,221,213],170],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],0,0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[19,24],[19,24],0,[[327,35],179],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[326,84],85],[[[328,[-1]],[180,[-2]]],[[180,[-2]]],329,234],[[327,[180,[-1]]],[[180,[-1]]],234],[[[328,[-1]],179],179,329],[[330,179],179],[[327,179],179],[[[328,[-1]],219],219,329],[[327,219],219],[[327,197],197],[[327,170],170],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],0,[[326,199,168],24],[[326,219,219],24],[[326,170,168],24],[[],19],[[],19],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[328,[-1]]],[]],[291,330],[[[5,[[16,[163]]]],[16,[179]]],327],[[170,168],326],0,[[327,309],219],0,[[-1,35],179,[]],[[[331,[-1,-2]],35],179,200,200],[[-1,312],219,[]],[[[331,[-1,-2]],312],219,200,200],[[327,221],197],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,[180,[-2]]],[[107,[[180,[-2]]]]],[],234],[[-1,199],[[107,[199]]],[]],[[-1,199],[[107,[199]]],[]],[[-1,199],[[107,[199]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,[185,[191]]],[[107,[[185,[191]]]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,219],[[107,[219]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,197],[[107,[197]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[[-1,[185,[238]]],[[107,[[185,[238]]]]],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[327,221],170],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[255,255],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],0,[19,24],[19,24],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[255,84],85],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[255,115],[-1,-2,[],[]],[-1,-2,[],[]],[332,284],[[333,334],[[107,[335,255]]]],[310,[[107,[318,255]]]],[[333,336],[[5,[337]]]],[[333,338],[[107,[339,111]]]],[[333,340],[[107,[341,255]]]],[[[342,[-1]],-2],[[107,[[320,[-3]],255]]],[],200,[]],[[333,343],[[107,[344,255]]]],[313,[[107,[312,255]]]],[[[16,[345]]],[[107,[[158,[167]],255]]]],[[333,346],[[5,[347]]]],[[1,132,348,118],[[107,[321,111]]]],[[1,349],[[107,[184,255]]]],[[333,350],[[107,[4,255]]]],[[333,351],[[5,[352]]]],[353,354],[[1,355],[[107,[165,255]]]],[[1,307],[[107,[162,255]]]],[[1,314],[[107,[[158,[162]],255]]]],[356,[[107,[357,255]]]],[[1,132,358],[[107,[324,111]]]],[315,[[107,[325,255]]]],[[1,132,[16,[348]],118],[[107,[[158,[321]],111]]]],[[333,359],[[107,[360,111]]]],[[1,132,361],[[107,[169,111]]]],[[333,362],[[107,[363,255]]]],[364,[[107,[195,255]]]],[[333,365],[[5,[366]]]],[308,[[107,[219,255]]]],[[333,367],[[107,[368,255]]]],[[333,369],[[107,[370,111]]]],[[333,371],[[107,[372,111]]]],[[1,3],[[107,[168,255]]]],[[1,373],[[107,[374,255]]]],[375,286],[-1,255,376],0,[[333,9,314],[[107,[[24,[9,377]],255]]]],0,0,0,0,[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,24],[19,24],[19,24],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[371,378],[369,378],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[],19],[[],19],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[379,149],[[150,[-1]]],151],[[378,149],[[150,[-1]]],151],[[380,149],[[150,[-1]]],151],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[359,255],379],[[118,77,255],378],[[118,-1],380,376],0,0,0,0,0,[[118,255],378],[[118,255],378],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],0,[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],0,[169,[[0,[381]]]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[382,[[5,[223]]]],0,0,[[195,153,383],[[154,[80]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[169,384],385],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[169,[[387,[386,[68,[384]]]]]],[360,360],[347,347],[366,366],[341,341],[195,195],[382,382],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[-1,195,74],[-1,382,74],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[169,[[389,[388]]]],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[195,-1],24,78],[[382,-1],24,78],[[341,341],80],[[195,195],80],[[382,382],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],0,[[390,153,223],[[154,[168]]]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[223,202,84],85],[[169,84],85],[[372,84],85],[[370,84],85],[[368,84],85],[[363,84],85],[[4,84],85],[[352,84],85],[[339,84],85],[[377,84],85],[[391,84],85],[[392,84],85],[[337,84],85],[[393,84],85],[[347,84],85],[[366,84],85],[[335,84],85],[[341,84],85],[[195,84],85],[[390,84],85],[[382,84],85],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[168,390],[[341,-1],24,112],[[195,-1],24,112],[[382,-1],24,112],0,0,[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[169,394],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[169,388],80],[370,80],[372,80],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],0,0,0,0,0,[[169,218],395],0,[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[[396,[388,339]]],[[396,[388,19]]]],[[[396,[388,339]],[396,[218,360]],361,299],169],[[218,[68,[382]]],195],[[[5,[388]]],122],0,0,0,0,0,0,[[390,153,382],[[154,[390]]]],0,[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],0,[169,397],[[1,361],299],0,[169,[[5,[218]]]],[169,394],0,0,0,0,[169,118],0,0,0,[[],[[121,[[16,[223]]]]]],0,0,[[169,388],386],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[[195,153,383],[[154,[390]]]],0,0,[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],0,0,[169,[[0,[381]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[29,-1],[[16,[-2]]],28,[]],[[27,-1],[[16,[-2]]],28,[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],[[-1,29],-2,[],[]],[[-1,27],-2,[],[]],0,0,0,0,0,[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[174,186],[174,187],[[[320,[-1]]],[[320,[-1]]],[]],[[-1,-2],[[320,[-1]]],[],[[117,[[158,[167]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[166,[-1]]],[[166,[-1]]],205],[[[320,[-1]]],[[320,[-1]]],205],[167,167],[398,398],[168,168],[284,284],[318,318],[282,282],[184,184],[219,219],[399,399],[312,312],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],0,0,[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],-3,26,71,[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],[[-1,-2],65,[],[]],0,[-1,167,75],[-1,284,75],[-1,400,75],[-1,286,75],[-1,354,75],[-1,282,74],[-1,184,75],[-1,219,75],[-1,399,75],[-1,312,75],0,0,0,0,0,[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[168,168],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[19,-1,[]],[284,9],0,0,[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[19,24],[[167,-1],24,79],[[284,-1],24,79],[[400,-1],24,79],[[286,-1],24,79],[[354,-1],24,79],[[282,-1],24,78],[[184,-1],24,79],[[219,-1],24,79],[[399,-1],24,79],[[312,-1],24,79],[[[320,[-1]],[320,[-1]]],80,278],[[167,167],80],[[357,357],80],[[401,401],80],[[321,321],80],[[402,402],80],[[403,403],80],[[323,323],80],[[404,404],80],[[398,398],80],[[168,168],80],[[284,284],80],[[400,400],80],[[286,286],80],[[354,354],80],[[405,405],80],[[406,406],80],[[319,319],80],[[318,318],80],[[282,282],80],[[184,184],80],[[162,162],80],[[219,219],80],[[399,399],80],[[312,312],80],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,31],80,[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[[-1,-2],80,[],[]],[168,[[24,[284,174]]]],[162,184],[162,219],[162,168],0,[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[-1,77],[[81,[-2]]],[],[]],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[[],82],[284,407],0,[[217,202,84],85],[[[320,[-1]],84],85,105],[[167,84],85],[[324,84],85],[[321,84],85],[[402,84],85],[[403,84],85],[[323,84],85],[[404,84],85],[[398,84],85],[[168,84],85],[[284,84],85],[[400,84],85],[[286,84],85],[[354,84],85],[[405,84],85],[[406,84],85],[[319,84],85],[[318,84],85],[[282,84],85],[[184,202,84],85],[[184,84],85],[[162,84],85],[[[283,[-1]],84],85,105],[[219,202,84],85],[[219,84],85],[[312,84],85],[[408,202,84],85],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[19,184],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[107,[-1]]],-1,[]],[[[107,[-1]]],-1,[]],[-1,-1,[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[-1,[16,[110]],111],-2,[],[]],[[[320,[-1]],-2],24,253,112],[[167,-1],24,112],[[357,-1],24,112],[[401,-1],24,112],[[321,-1],24,112],[[402,-1],24,112],[[403,-1],24,112],[[323,-1],24,112],[[404,-1],24,112],[[398,-1],24,112],[[168,-1],24,112],[[284,-1],24,112],[[400,-1],24,112],[[286,-1],24,112],[[354,-1],24,112],[[405,-1],24,112],[[406,-1],24,112],[[319,-1],24,112],[[318,-1],24,112],[[282,-1],24,112],[[184,-1],24,112],[[162,-1],24,112],[[219,-1],24,112],[[399,-1],24,112],[[312,-1],24,112],0,0,0,[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[398,[[16,[168]]]],0,[[[166,[-1]]],-1,[]],[406,168],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[168,80],[284,80],[284,80],[168,80],[284,80],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[[-1,1,80],80,[]],[284,80],[168,406],0,0,0,0,[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[-1,1,80],[[5,[-2]]],[],[]],[[284,-1],168,[[117,[174]]]],[[318,9,-1],168,[[117,[174]]]],[[168,184],168],[[],168],[[],168],[[9,-1],168,[[117,[174]]]],[[9,-1],168,[[117,[174]]]],[201,168],[165,168],[[9,174],168],[214,168],[[],168],[221,168],[[168,108],168],[[219,168,108],168],[168,168],[[],168],[-1,168,[[117,[[158,[168]]]]]],[236,168],[[],168],0,0,0,0,0,[402,321],[400,284],[[9,[396,[177,286]],407],400],[284,286],0,[398,168],0,[325,[[5,[9]]]],0,0,0,[325,19],0,0,0,0,0,[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[[-1,119],[[5,[-2]]],[],[]],[219,122],0,0,0,[323,168],[319,168],0,[[[166,[-1]]],-1,[]],[[[320,[-1]]],-1,[]],[187,[[283,[162]]]],[186,[[409,[162]]]],[[],[[121,[[16,[167]]]]]],[[],[[121,[[16,[357]]]]]],[[],[[121,[[16,[321]]]]]],[[],[[121,[[16,[168]]]]]],[[],[[121,[400]]]],[[],[[121,[405]]]],[[],[[121,[[16,[162]]]]]],0,[[[166,[168]],[16,[162]]],168],[[[320,[-1]],[16,[162]]],[[320,[-1]]],230],[[398,[16,[162]]],398],[[168,[16,[162]]],168],[[184,[16,[162]]],184],[[162,[16,[162]]],162],[[219,[16,[162]]],219],0,[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],122,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[[-1,-2],123,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[[-1,1],-2,[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,122,[]],[-1,122,[]],[-1,122,[]],0,[[219,-1],[[107,[219]]],235],[[[410,[-1,-2]],-3],[[107,[[410,[-1,-2]]]]],234,234,235],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[-1,[[107,[-2]]],[],[]],[168,[[158,[168]]]],[187,168],[186,168],0,0,[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[-1,125,[]],[187,[[0,[26]]]],[186,[[158,[168]]]],0,0,[[284,177],286],[284,[[287,[177,286]]]],0,[[[320,[-1]]],[[158,[167]]],[]],[[219,-1],[[239,[24]]],241],[[[410,[-1,-2]],-3],[[239,[24]]],240,240,241],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[[-1,[16,[162]]],-1,[]]],"c":[],"p":[[3,"TyCtxt",9405],[3,"ScalarInt",7748],[3,"Ty",9406],[4,"Constant",6583],[4,"Option",9407],[4,"Constant",2982],[15,"u128"],[15,"i128"],[3,"DefId",9408],[3,"AdtDef",2982],[6,"PolyFnSig",2982],[3,"EarlyBinder",2982],[3,"RefinedBy",35],[6,"PolyTy",2982],[6,"PolyVariant",2982],[15,"slice"],[4,"Opaqueness",2982],[3,"ItemLocalId",35],[15,"usize"],[3,"SortVid",35],[3,"Name",35],[3,"Map",35],[3,"LocalDefId",9408],[15,"tuple"],[3,"TyAlias",35],[8,"Iterator",9409],[3,"Arena",9410],[8,"IntoIterator",9411],[3,"Arena",9412],[4,"SortCtor",35],[8,"Any",9413],[3,"Ty",35],[3,"Path",35],[3,"BaseTy",35],[15,"u32"],[4,"GenericParamKind",35],[3,"ConstInfo",35],[4,"TraitBoundModifier",35],[4,"TyKind",35],[3,"MutTy",35],[4,"Lifetime",35],[3,"ArrayLen",35],[4,"WeakKind",35],[4,"FluxLocalDefId",35],[4,"FluxOwnerId",35],[3,"FhirId",35],[4,"RefineArg",35],[4,"BaseTyKind",35],[4,"QPath",35],[3,"TypeBinding",35],[4,"GenericArg",35],[4,"Res",35],[3,"RefineParam",35],[4,"ParamKind",35],[4,"InferMode",35],[4,"Sort",35],[3,"FuncSort",35],[3,"PolyFuncSort",35],[3,"Expr",35],[4,"ExprKind",35],[4,"Func",35],[4,"Lit",35],[3,"Ident",35],[4,"FuncKind",35],[4,"Ordering",9414],[3,"WfckResults",35],[4,"Coercion",35],[3,"Vec",9415],[3,"LocalTableInContext",35],[3,"LocalTableInContextMut",35],[8,"FnOnce",9416],[3,"Symbol",2332],[8,"Borrow",9417],[8,"Decoder",9418],[8,"TyDecoder",9419],[3,"Defn",35],[15,"str"],[8,"Encoder",9418],[8,"TyEncoder",9419],[15,"bool"],[3,"RequestFilterDataProvider",9420],[4,"FingerprintStyle",9421],[3,"FnSig",35],[3,"Formatter",9422],[6,"Result",9422],[3,"FnOutput",35],[4,"Constraint",35],[3,"Generics",35],[3,"GenericParam",35],[3,"Qualifier",35],[4,"FluxItem",35],[3,"SortDecl",35],[3,"GenericPredicates",35],[3,"WhereBoundPredicate",35],[4,"GenericBound",35],[3,"PolyTraitRef",35],[3,"OpaqueTy",35],[3,"StructDef",35],[4,"StructKind",35],[3,"FieldDef",35],[3,"EnumDef",35],[3,"VariantDef",35],[3,"VariantRet",35],[3,"FnInfo",35],[8,"Debug",9422],[3,"FuncDecl",35],[4,"Result",9423],[4,"Mutability",7748],[3,"OwnerId",9424],[3,"QueryInfo",9425],[3,"ErrorGuaranteed",9426],[8,"Hasher",9427],[6,"SurfaceIdent",35],[3,"UnordMap",9428],[4,"DiagnosticArgValue",9429],[4,"ResolvedArg",9430],[8,"Into",9431],[3,"Span",9432],[3,"DepNode",9433],[6,"SortDecls",35],[3,"InternStorage",2488],[3,"String",9434],[3,"Fingerprint",9435],[4,"Res",9436],[3,"TypeId",9413],[3,"LiftCtxt",2201],[8,"IntoDiagnostic",9437],[3,"Generics",9438],[4,"ArrayLen",9438],[3,"Variant",9438],[3,"FieldDef",9438],[3,"FluxSession",9439],[4,"FnRetTy",9438],[3,"FnSig",9438],[4,"GenericArg",9438],[4,"GenericBound",9438],[3,"GenericParam",9438],[3,"Lifetime",9438],[3,"MutTy",9438],[3,"ItemId",9438],[3,"Path",9438],[3,"Ty",9438],[3,"PolyTraitRef",9438],[4,"QPath",9438],[3,"TypeBinding",9438],[3,"Item",9438],[4,"WherePredicate",9438],[3,"UnsupportedHir",2264],[3,"Handler",9440],[3,"DiagnosticBuilder",9437],[8,"EmissionGuarantee",9437],[8,"Visitor",2290],[3,"GlobalEnv",2332],[6,"QueryResult",2858],[3,"Rc",9441],[6,"CrateStoreDyn",28],[3,"Defns",6024],[6,"List",2488],[3,"Generics",2982],[3,"Map",9442],[3,"GenericParamDef",2982],[4,"GenericArg",7748],[4,"GenericArg",2982],[3,"Clause",2982],[6,"PolyFnSig",7748],[3,"EarlyBinder",7748],[4,"BoundVariableKind",7748],[3,"Ty",7748],[3,"Body",6583],[6,"Ty",2982],[3,"Box",9443],[3,"GenericPredicates",2982],[3,"Providers",2858],[6,"GenericArgs",7748],[6,"GenericArgs",2982],[4,"Variance",6583],[3,"VariantIdx",6583],[6,"PolyVariants",2982],[6,"Expr",5310],[3,"Binder",2982],[4,"AliasKind",2982],[3,"AliasTy",2982],[3,"ESpan",5310],[4,"Const",7748],[3,"Interned",2488],[3,"ClosureArgs",7748],[3,"GeneratorArgs",7748],[3,"GeneratorArgs",2982],[8,"Internable",2488],[8,"Sized",9444],[3,"ExprS",5310],[4,"BinOp",2982],[8,"Ord",9414],[8,"Decodable",9418],[3,"Place",6583],[8,"Encodable",9418],[4,"Sort",2982],[3,"EVar",5060],[4,"BaseTy",2982],[8,"FnMut",9416],[4,"FloatTy",7748],[3,"PPrintCx",2699],[8,"Pretty",2699],[8,"Display",9422],[8,"Clone",9445],[15,"array"],[3,"Name",5310],[3,"Arc",9446],[3,"FxHasher",9447],[3,"BuildHasherDefault",9427],[3,"DashMap",9448],[4,"HoleKind",5310],[3,"Index",2982],[4,"IntTy",7748],[4,"ExprKind",5310],[3,"KVar",5310],[3,"DebruijnIndex",7748],[3,"Local",6583],[4,"Region",7748],[6,"RefineArgs",2982],[3,"ParamTy",7748],[8,"PartialOrd",9414],[3,"FieldIdx",6583],[4,"PtrKind",2982],[3,"Path",5310],[3,"SharedValue",9449],[3,"HashMap",9450],[6,"RwLockWriteGuard",9451],[15,"u64"],[8,"Subst",9403],[4,"Loc",5310],[4,"BoundVariableKind",2982],[4,"Var",5310],[8,"TypeFoldable",5982],[8,"FallibleTypeFolder",5982],[4,"UintTy",7748],[4,"UnOp",2982],[3,"TyS",2982],[4,"ControlFlow",9452],[8,"TypeVisitable",5982],[8,"TypeVisitor",5982],[4,"KVarArgs",2699],[3,"WithCx",2699],[3,"Join",2699],[3,"Parens",2699],[4,"Value",9453],[3,"Queries",2858],[4,"QueryErr",2858],[3,"FuncDecl",2982],[6,"FxHashMap",9447],[3,"Qualifier",2982],[3,"RefCell",9454],[8,"Hash",9427],[8,"Eq",9414],[3,"UnsupportedReason",6414],[4,"SortCtor",2982],[3,"FnSig",2982],[8,"Deref",9455],[4,"TupleTree",2982],[3,"RefineParam",2982],[4,"GenericParamDefKind",2982],[4,"ClauseKind",2982],[3,"TraitPredicate",2982],[3,"TraitRef",2982],[3,"ProjectionPredicate",2982],[3,"FnTraitPredicate",2982],[3,"GeneratorObligPredicate",2982],[3,"SortVar",2982],[3,"FuncSort",2982],[3,"PolyFuncSort",2982],[3,"Invariant",2982],[3,"VariantSig",2982],[3,"FnOutput",2982],[4,"Constraint",2982],[4,"TyKind",2982],[8,"FromIterator",9411],[3,"AdtDefData",2982],[8,"PartialEq",9414],[3,"Error",9422],[3,"ClosureOblig",2982],[15,"i32"],[3,"ValueConst",7748],[3,"GeneratorArgsParts",7748],[3,"AdtDef",7748],[6,"Constraints",2982],[3,"VariantDef",7748],[3,"IndexSlice",9456],[3,"EVid",5060],[3,"EVarCxId",5060],[3,"EVarGen",5060],[3,"EVarSol",5060],[3,"UnsolvedEvar",5060],[4,"EVarState",5060],[3,"KVid",5310],[3,"SpanData",5310],[4,"Precedence",5941],[8,"TypeFolder",5982],[6,"FxHashSet",9447],[3,"InferCtxt",9457],[6,"OpaqueArgsMap",2982],[3,"Normalizer",6024],[3,"BaseSpanner",6024],[3,"Defn",2982],[3,"Normalizer",6112],[4,"Candidate",6112],[3,"TVarSubst",6112],[3,"GenericArg",9458],[3,"Region",9459],[3,"EarlyBoundRegion",7748],[4,"AliasKind",9460],[3,"AliasTy",9459],[3,"BoundRegion",7748],[3,"BoundRegion",9459],[6,"GenericArgsRef",9458],[3,"Generics",9461],[3,"ParamEnv",9406],[3,"Refiner",6206],[4,"AliasKind",7748],[3,"AliasTy",7748],[3,"Binder",7748],[3,"Clause",7748],[4,"ClosureKind",2982],[3,"TraitRef",7748],[3,"GenericPredicates",7748],[3,"Generics",7748],[3,"RegionSubst",6256],[3,"GenericsSubstFolder",6256],[3,"BoundVarReplacer",6256],[8,"BoundVarReplacerDelegate",6256],[3,"EVarSubstFolder",6256],[3,"FnMutDelegate",6256],[3,"AdtDef",9462],[3,"LoweringCtxt",6414],[4,"AggregateKind",9463],[4,"AggregateKind",6583],[6,"AssertMessage",9463],[4,"AssertKind",6583],[3,"BasicBlockData",9464],[3,"BasicBlockData",6583],[4,"BinOp",9463],[4,"BinOp",6583],[3,"Binder",9459],[4,"BorrowKind",9463],[4,"BorrowKind",6583],[4,"BoundVariableKind",9459],[4,"CastKind",9463],[4,"CastKind",6583],[3,"Clause",9406],[3,"Const",9465],[3,"ConstOperand",9463],[4,"FakeReadCause",9463],[4,"FakeReadCause",6583],[3,"FieldDef",9406],[3,"FieldDef",7748],[6,"PolyFnSig",9459],[3,"GenericParamDef",9461],[3,"GenericParamDef",7748],[3,"GenericPredicates",9461],[3,"LocalDecl",9464],[3,"LocalDecl",6583],[3,"BodyWithBorrowckFacts",9466],[4,"Operand",9463],[4,"Operand",6583],[3,"Place",9463],[4,"PointerCoercion",9467],[4,"PointerCast",6583],[4,"Rvalue",9463],[4,"Rvalue",6583],[3,"Statement",9468],[3,"Statement",6583],[3,"Terminator",9469],[3,"Terminator",6583],[6,"TypeOutlivesPredicate",9406],[6,"TypeOutlivesPredicate",7748],[3,"VariantDef",9406],[8,"ToString",9434],[3,"CallArgs",6583],[3,"UnsupportedMir",6503],[3,"UnsupportedLocalDecl",6503],[3,"UnsupportedGenericBound",6503],[8,"ExactSizeIterator",9470],[4,"PlaceElem",6583],[6,"LocalDecls",6583],[3,"BorrowIndex",9471],[3,"BorrowData",6583],[3,"Location",6583],[6,"FxIndexMap",9472],[3,"BasicBlock",6583],[3,"Dominators",9473],[3,"PlaceTy",6583],[3,"Instance",6583],[4,"TerminatorKind",6583],[4,"StatementKind",6583],[3,"Body",9464],[4,"LocalKind",6583],[3,"IndexVec",9474],[3,"RegionInferenceContext",9475],[3,"FnSig",7748],[3,"FreeRegion",7748],[3,"AdtDefData",7748],[4,"GenericParamDefKind",7748],[4,"ClauseKind",7748],[3,"TraitPredicate",7748],[3,"ProjectionPredicate",7748],[3,"TyS",7748],[4,"TyKind",7748],[3,"AdtFlags",2982],[4,"BoundRegionKind",7748],[3,"ClosureArgsParts",7748],[3,"OutlivesPredicate",7748],[8,"CrateStore",28],[4,"PrimTy",35],[6,"ItemLocalMap",35],[6,"GenericBounds",35],[6,"Cache",35],[6,"ItemPredicates",35],[13,"Type",2193],[13,"Expr",2194],[13,"SelfTyAlias",2196],[13,"SelfTyParam",2196],[13,"User",2199],[13,"Transparent",2200],[3,"Ident",2332],[6,"InternMap",2488],[6,"Guard",2488],[8,"SliceInternable",2488],[8,"FromOpt",2699],[6,"Cache",2858],[13,"UnsupportedType",2979],[3,"BoundVar",7748],[13,"Type",5057],[13,"Const",5057],[13,"User",5059],[8,"TypeSuperFoldable",5982],[8,"TypeSuperVisitable",5982],[4,"UnwindAction",6583],[4,"UnOp",6583],[3,"SourceInfo",6583],[3,"SwitchTargets",6583],[13,"Mut",7722],[13,"Call",7723],[13,"Assert",7723],[13,"SwitchInt",7723],[13,"Yield",7723],[13,"FalseEdge",7723],[13,"Drop",7723],[13,"FalseUnwind",7723],[13,"Goto",7723],[3,"RegionVid",7748],[13,"Type",9401],[13,"Const",9401]],"b":[[1093,"impl-Debug-for-SortCtor"],[1094,"impl-Display-for-SortCtor"],[1095,"impl-Display-for-Sort"],[1096,"impl-Debug-for-Sort"],[1097,"impl-Display-for-FuncSort"],[1098,"impl-Debug-for-FuncSort"],[1099,"impl-Debug-for-PolyFuncSort"],[1100,"impl-Display-for-PolyFuncSort"],[1189,"impl-From%3CLocalDefId%3E-for-FluxLocalDefId"],[1190,"impl-From%3CFluxOwnerId%3E-for-FluxLocalDefId"],[1199,"impl-From%3Cusize%3E-for-ItemLocalId"],[1201,"impl-From%3Cu32%3E-for-ItemLocalId"],[1228,"impl-From%3Cusize%3E-for-SortVid"],[1230,"impl-From%3Cu32%3E-for-SortVid"],[1250,"impl-From%3Cu32%3E-for-Name"],[1253,"impl-From%3Cusize%3E-for-Name"],[1374,"impl-ItemLocalId"],[1375,"impl-Idx-for-ItemLocalId"],[1376,"impl-Idx-for-SortVid"],[1377,"impl-UnifyKey-for-SortVid"],[1378,"impl-SortVid"],[1379,"impl-Idx-for-Name"],[1380,"impl-Name"],[2504,"impl-Interned%3C%5BGenericArg%5D%3E"],[2505,"impl-Interned%3C%5BGenericArg%5D%3E"],[2531,"impl-Decodable%3CD%3E-for-Interned%3C%5BT%5D%3E"],[2532,"impl-Decodable%3CD%3E-for-Interned%3CT%3E"],[2547,"impl-Encodable%3CE%3E-for-Interned%3CT%3E"],[2548,"impl-Encodable%3CE%3E-for-Interned%3C%5BT%5D%3E"],[2549,"impl-PartialEq-for-Interned%3CT%3E"],[2550,"impl-PartialEq-for-Interned%3C%5BT%5D%3E"],[2551,"impl-Interned%3CExprS%3E"],[2570,"impl-Debug-for-Interned%3CT%3E"],[2571,"impl-Pretty-for-Interned%3CT%3E"],[2572,"impl-Display-for-Interned%3CT%3E"],[2576,"impl-From%3CVec%3CT%3E%3E-for-Interned%3C%5BT%5D%3E"],[2578,"impl-From%3C%26%5BT%5D%3E-for-Interned%3C%5BT%5D%3E"],[2679,"impl-Interned%3CTyS%3E"],[2680,"impl-Interned%3CExprS%3E"],[2691,"impl-Interned%3CTyS%3E"],[2692,"impl-Interned%3CExprS%3E"],[2759,"impl-Pretty-for-Join%3C\'_,+I%3E"],[2760,"impl-Debug-for-Join%3C\'_,+I%3E"],[3750,"impl-Constant"],[3751,"impl-PartialEq-for-Constant"],[4068,"impl-Pretty-for-BinOp"],[4069,"impl-Debug-for-BinOp"],[4070,"impl-Display-for-BinOp"],[4071,"impl-Pretty-for-UnOp"],[4072,"impl-Debug-for-UnOp"],[4073,"impl-Display-for-UnOp"],[4074,"impl-Debug-for-Constant"],[4075,"impl-Display-for-Constant"],[4083,"impl-Debug-for-ClauseKind"],[4084,"impl-Pretty-for-ClauseKind"],[4092,"impl-Debug-for-Sort"],[4093,"impl-Pretty-for-Sort"],[4094,"impl-Debug-for-FuncSort"],[4095,"impl-Pretty-for-FuncSort"],[4096,"impl-Pretty-for-PolyFuncSort"],[4097,"impl-Debug-for-PolyFuncSort"],[4102,"impl-Pretty-for-VariantSig"],[4103,"impl-Debug-for-VariantSig"],[4104,"impl-Pretty-for-BoundVariableKind"],[4105,"impl-Debug-for-BoundVariableKind"],[4106,"impl-Debug-for-Binder%3CT%3E"],[4107,"impl-Pretty-for-Binder%3CInterned%3CExprS%3E%3E"],[4108,"impl-Pretty-for-Binder%3CT%3E"],[4109,"impl-Pretty-for-Binder%3CFnOutput%3E"],[4112,"impl-Debug-for-FnSig"],[4113,"impl-Pretty-for-FnSig"],[4115,"impl-Debug-for-Constraint"],[4116,"impl-Pretty-for-Constraint"],[4120,"impl-Pretty-for-TyS"],[4121,"impl-Debug-for-TyS"],[4123,"impl-Debug-for-PtrKind"],[4124,"impl-Pretty-for-PtrKind"],[4125,"impl-Pretty-for-Index"],[4126,"impl-Debug-for-Index"],[4127,"impl-Debug-for-BaseTy"],[4128,"impl-Pretty-for-BaseTy"],[4130,"impl-Pretty-for-AliasKind"],[4131,"impl-Debug-for-AliasKind"],[4132,"impl-Pretty-for-GenericArg"],[4133,"impl-Debug-for-GenericArg"],[4140,"impl-From%3Cbool%3E-for-Constant"],[4141,"impl-From%3Ci32%3E-for-Constant"],[4142,"impl-From%3Ci128%3E-for-Constant"],[4143,"impl-From%3Cu128%3E-for-Constant"],[4144,"impl-From%3Cusize%3E-for-Constant"],[4221,"impl-From%3CValueConst%3E-for-Index"],[4223,"impl-From%3C(Interned%3CExprS%3E,+TupleTree%3Cbool%3E)%3E-for-Index"],[4224,"impl-From%3CInterned%3CExprS%3E%3E-for-Index"],[4385,"impl-EarlyBinder%3CGenericPredicates%3E"],[4386,"impl-EarlyBinder%3CT%3E"],[5191,"impl-Pretty-for-EVar"],[5192,"impl-Debug-for-EVar"],[5211,"impl-From%3Cu32%3E-for-EVid"],[5212,"impl-From%3Cusize%3E-for-EVid"],[5230,"impl-EVid"],[5231,"impl-Idx-for-EVid"],[5373,"impl-Add%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5374,"impl-Add%3CRhs%3E-for-Interned%3CExprS%3E"],[5530,"impl-Div%3CRhs%3E-for-Interned%3CExprS%3E"],[5531,"impl-Div%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5651,"impl-Pretty-for-Interned%3CExprS%3E"],[5652,"impl-Debug-for-Interned%3CExprS%3E"],[5656,"impl-Debug-for-KVar"],[5657,"impl-Pretty-for-KVar"],[5658,"impl-Debug-for-Var"],[5659,"impl-Pretty-for-Var"],[5660,"impl-Pretty-for-Path"],[5661,"impl-Debug-for-Path"],[5662,"impl-Debug-for-Loc"],[5663,"impl-Pretty-for-Loc"],[5669,"impl-From%3C%26Interned%3CExprS%3E%3E-for-Interned%3CExprS%3E"],[5670,"impl-From%3Ci32%3E-for-Interned%3CExprS%3E"],[5671,"impl-From%3CPath%3E-for-Interned%3CExprS%3E"],[5672,"impl-From%3CName%3E-for-Interned%3CExprS%3E"],[5692,"impl-From%3CLocal%3E-for-Loc"],[5693,"impl-From%3CName%3E-for-Loc"],[5694,"impl-From%3Cusize%3E-for-KVid"],[5697,"impl-From%3Cu32%3E-for-KVid"],[5698,"impl-From%3Cu32%3E-for-Name"],[5700,"impl-From%3Cusize%3E-for-Name"],[5740,"impl-KVid"],[5741,"impl-Idx-for-KVid"],[5742,"impl-Idx-for-Name"],[5743,"impl-Name"],[5798,"impl-Mul%3CRhs%3E-for-Interned%3CExprS%3E"],[5799,"impl-Mul%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5836,"impl-Sub%3CRhs%3E-for-%26Interned%3CExprS%3E"],[5837,"impl-Sub%3CRhs%3E-for-Interned%3CExprS%3E"],[6532,"impl-From%3C%26Terminator%3C\'tcx%3E%3E-for-UnsupportedMir"],[6533,"impl-From%3C%26Statement%3C\'tcx%3E%3E-for-UnsupportedMir"],[8653,"impl-Pretty-for-Const"],[8654,"impl-Debug-for-Const"],[8657,"impl-Pretty-for-Region"],[8658,"impl-Debug-for-Region"]]},\ +"flux_refineck":{"doc":"Refinement type checking","t":"DHOOFFMAAAAAAAAFFMAADDENINNDDDLLLLMMMFFLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLMLLLLLKLLLLLLLLLLMKLLLMLLLLLLLLLLLLLLLLLLLKLLALLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLFFLLLLLLLLLLLLLLMMMMMMLLLMFLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFMLLLLLLEDNNQNNILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLKKNNNDENNNDIDNNNNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMFFLLLLLMLLLLMALLMMMMMMMLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGNNDGDDDDDEDGESSGNDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMLLMMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLAFMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLMMLLLLLMLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMMLMMMMMLLLLLLMLLLLMLFLMMFMMLFMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLNDDNDSSSSSSELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNGNGGNDNNGNNNNNGNNNNDGNENGNNNEEGNNNNNLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLMMMMLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNGNEDNGENDNNLFLLLLLLMMMMLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLMALMLLLLLLLLLLLLLLLLLLLLLLLLLLNNNDDNDNDNISNNEEENNNFLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLKLLLMKLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLDDSSSSDNDDEDNGDESNNDMLLFLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLMMLLMMMMMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLFFADRLLLLLLLLLLLLLLMLLLLLLDDLMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLENNNNNNDEDDDDDDDNDDNLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLMAMMMLLLMLLLLLMMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLMFFFFNNNEEDDNMLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLMLMAMLLLLLLLLLLLLLLLLLLLLLLLLLHGHMFFFFFFHGHMFFFDDDDDLLLLMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMAALLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLWWDNGDNQQENIIDDNDDDNDLMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLFLFFKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLMKMLLLMLLLMLLLMAKMMLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLKLLLLLLLLLLLLLLLL","n":["CheckerConfig","DEFAULT_LOCALE_RESOURCE","_define_btys","_sig","call_error","check_fn","check_overflow","checker","constraint_gen","errors","fixpoint_encoding","ghost_statements","invariants","queue","refine_tree","report_errors","ret_error","scrape_quals","sigs","type_env","Checker","CheckerConfig","Guard","Match","Mode","None","Pred","RefineMode","ShapeMode","ShapeResult","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bb_envs","bb_envs","body","bool_int_cast","bool_uint_cast","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_aggregate_operands","check_assert","check_assign_ty","check_basic_block","check_binary_op","check_call","check_cast","check_closure_obligs","check_constant","check_ghost_statement","check_ghost_statements_at","check_goto","check_goto_join_point","check_goto_join_point","check_goto_join_point","check_if","check_len","check_match","check_oblig_fn_trait_pred","check_oblig_generator_pred","check_operand","check_operands","check_overflow","check_rvalue","check_statement","check_successors","check_terminator","check_unary_op","clear","clear","clear","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","config","constr_gen","constr_gen","constr_gen","constr_gen","def_id","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dominators","drop","drop","drop","drop","drop","drop","enter_basic_block","enter_basic_block","enter_basic_block","errors","filterable","filterable","filterable","filterable","filterable","filterable","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics","genv","ghost_stmts","ghost_stmts","init","init","init","init","init","init","init","int_bit_width","int_int_cast","into","into","into","into","into","into","into_bb_envs","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_exit_block","kvars","mode","output","queue","refparams","resume_ty","run","run_in_refine_mode","run_in_shape_mode","scrape_quals","snapshot_at_dominator","snapshot_at_dominator","snapshots","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","uint_bit_width","uint_int_cast","uint_uint_cast","visited","vzip","vzip","vzip","vzip","vzip","vzip","CheckerErrKind","CheckerError","Inference","InvalidGenericArg","Ok","OpaqueStruct","Query","ResultExt","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diagnostic","into_query_param","into_query_param","kind","opaque_struct","span","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","with_span","with_src_info","Assert","Assign","Call","ConstrGen","ConstrReason","Div","Fold","Goto","InferCtxt","KVarGen","Obligations","Other","Overflow","Rem","Ret","Tag","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bty_subtyping","check_constraint","check_constructor","check_fn_call","check_generic_args","check_mk_array","check_pred","check_pred","check_ret","check_type_constr","clone","clone","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_id","def_id","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","dst_span","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evar_gen","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fresh","fresh","fresh_evars","fresh_infer_var","fresh_infer_var_for_hole","fresh_kvar","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generic_arg_subtyping","genv","genv","hash","hash","idx_subtyping","infcx","init","init","init","init","init","insert_obligations","instantiate_generic_args","instantiate_refine_args","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvar_gen","kvar_gen","mk_generator_obligations","mk_obligations","new","new","new","new","obligations","obligs","opaque_subtyping","pack_closure_operands","pop_scope","pred_subtyping","predicates","pretty","project_bty","push_scope","reason","refparams","refparams","region_infcx","region_infcx","scopes","snapshot","solve","span","src_span","subtyping","subtyping","tag","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unify_exprs","vzip","vzip","vzip","vzip","vzip","with_dst","AssertError","AssignError","CallSpanNote","ConditionSpanNote","DivError","FoldError","GotoError","OverflowError","RefineError","RemError","UnknownError","_DERIVE_rustc_errors_AddToDiagnostic_FOR_CallSpanNote","_DERIVE_rustc_errors_AddToDiagnostic_FOR_ConditionSpanNote","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AssertError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_AssignError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_DivError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_FoldError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_GotoError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_OverflowError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RefineError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_RemError","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_UnknownError","add_to_diagnostic_with","add_to_diagnostic_with","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call_span_note","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cond","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_diagnostic","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","msg","new","ret","span","span","span","span","span","span","span","span","span","span","span","span_note","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bindings","Conj","Const","ConstInfo","ConstMap","Env","ExprCtxt","FixpointCtxt","FixpointKVar","KVarDecl","KVarEncoding","KVarStore","KVidMap","Key","MAX","MAX_AS_U32","PredSpans","Single","TagIdx","Uif","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_expr_cx","as_u32","as_usize","assume_const_val","backward_checked","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buf","buf","check","clone","clone","clone","clone_into","clone_into","clone_into","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","comments","compare","compare","const_map","const_map","core","dbg_span","decode","def_id","def_span","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encoding","env","env","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expr_to_fixpoint","exprs_to_fixpoint","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fixpoint","fixpoint_const_map","fixpoint_kvars","fmt","fmt","forward_checked","fresh","fresh_inner","fresh_name","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_str","from_u32","from_u32_unchecked","from_usize","func_sort_to_fixpoint","func_to_fixpoint","fvars","genv","get","get_fvar","get_late_bvar","hash","hash","hash_builder","imm","index","index","init","init","init","init","init","init","init","init","init","init","inner","insert_fvar_map","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvar_to_fixpoint","kvars","kvars","kvid_map","last_layer","layers","len","len","local_var_gen","name","new","new","new","new","new","new","orig","partial_cmp","populate_kvid_map","pred_to_fixpoint","pred_to_fixpoint_internal","private","push_layer_with_fresh_names","qualifier_to_fixpoint","remove_fvar_map","self_args","sort","sort_to_fixpoint","sorts","sorts","steps_between","stitch","sym","tag_idx","tags","tags_inv","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tuple_to_fixpoint","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","var_to_fixpoint","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_name_map","Global","GlobalVar","KVid","Local","LocalVar","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Var","add","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_any","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","backward_checked","backward_checked","backward_checked","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","decode","decode","decode","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","encode","encode","encode","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","fixpoint_generated","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","hash","hash","hash","hash","index","index","index","index","index","index","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","new","new","new","partial_cmp","partial_cmp","partial_cmp","private","private","private","steps_between","steps_between","steps_between","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","And","App","App","BinaryOp","BitVec","Bool","Conj","ConstInfo","Constant","Constraint","Expr","Expr","FixpointTypes","ForAll","Fst","Func","Func","Guard","IfThenElse","Int","Itf","KVar","KVar","Map","Pair","Pair","PolyFuncSort","Pred","Pred","Proj","Proj","Qualifier","Real","Set","Snd","Sort","SortCtor","Task","UnaryOp","Unit","Unit","Var","Var","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","args","body","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","comment","comments","constants","constraint","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","fsort","global","hash","hash","hash","hash","init","init","init","init","init","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvars","kvid","name","name","new","orig","params","qualifiers","scrape_quals","sort","sorts","sorts","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","Edge","EdgeMap","Fold","GhostStatement","GhostStatements","Location","LocationMap","Point","PtrToBorrow","StatementsAt","Unblock","Unfold","add_unblocks","all_nested_bodies","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","at","at_edge","at_location","base","base","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compute_ghost_statements","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","extend_at","filterable","filterable","filterable","filterable","fmt","fmt","fold_unfold","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","init","init","init","init","insert","insert_at","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","new","point","points_to","statements_at","stmts","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","write_mir","Closure","Deref","Downcast","Elaboration","Env","Fold","FoldUnfoldAnalysis","Generator","Infer","Len","Mode","NAME","None","Other","PlaceNode","ProjKind","ProjResult","Tuple","Ty","Unfold","add_ghost_statements","basic_block","bb_envs","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_fold_unfolds","collect_fold_unfolds_at_goto","collect_folds_at_ret","collect_folds_at_ret","collect_unfolds","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","discriminants","downcast","downcast","downcast","downcast_struct","drop","drop","drop","drop","drop","drop","drop","field","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fold","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","goto","goto_join_point","goto_join_point","goto_join_point","init","init","init","init","init","init","init","insert_at","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","join","location","map","mode","new","new","operand","projection","projection","projection","projection","queue","ret","ret","ret","run","statement","stmts","terminator","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unfold","visited","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Children","CollectPointerToBorrows","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Map","Place","PlaceIndex","PlaceInfo","PlaceOrValue","PointsToAnalysis","Reachable","Results","State","StateData","TOP","Unreachable","Value","ValueIndex","_marker","add","add","add_ghost_statements","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","analysis","apply","apply_call_return_effect","apply_statement_effect","apply_switch_int_edge_effects","apply_terminator_effect","as_any","as_any","as_any","as_any","as_u32","as_u32","as_usize","as_usize","assign","backward_checked","backward_checked","before_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bottom_value","cache_preorder_invoke","children","clone","clone","clone","clone","clone_from","clone_from","clone_into","clone_into","clone_into","clone_into","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","debug_with_context","debug_with_context_rec","decode","decode","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","entry_sets","eq","eq","eq","eq","equals","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","excluded_locals","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find","first_child","flood","flood_with","fmt","fmt","fmt","fmt","fmt","fmt","fmt_diff_with","fmt_with","fn_sig","for_each_aliasing_place","for_each_tracked_place","for_each_tracked_place_rec","for_each_value_inside","forward_checked","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","get","get_idx","get_tracked_idx","handle_assign","handle_call_return","handle_operand","handle_ref","handle_statement","handle_terminator","hash","hash","index","index","index","index","init","init","init","init","init","init","init","init","init","init","initialize_start_block","inner_values","inner_values_buffer","insert_idx","insert_place_idx","insert_ptr_to_borrows_at","insert_value_idx","into","into","into","into","into","into","into","into","into","into","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","locals","map","map","map","new","new","new","new","new","new","new","next","next","next_sibling","partial_cmp","partial_cmp","places","private","private","proj_elem","projections","register","register_children","steps_between","steps_between","stmts","to_owned","to_owned","to_owned","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","tracked_places","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value_count","value_index","values","visit_block_end","visit_statement_after_primary_effect","visit_statement_before_primary_effect","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","check_invariant","check_invariants","errors","Invalid","_DERIVE_rustc_errors_IntoDiagnostic_diagnostic_handler_sess_G_FOR_Invalid","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diagnostic","into_query_param","span","to_predicate","to_result","try_from","try_into","type_id","vzip","Item","WorkQueue","as_any","bb","borrow","borrow","borrow_mut","borrow_mut","cmp","collect_and_apply","collect_and_apply","compare","compare","deref","deref","deref_mut","deref_mut","dominators","dominators","drop","drop","empty","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","heap","init","init","insert","into","into","into_query_param","into_query_param","partial_cmp","pop","set","to_predicate","to_predicate","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AssumeInvariants","Comment","Conj","ForAll","Guard","Head","No","Node","NodeKind","NodePtr","ParentsIter","RefineCtxt","RefineSubtree","RefineTree","Scope","Snapshot","True","Unpacker","WeakNodePtr","Yes","as_any","as_subtree","as_subtree","assume_invariants","assume_invariants","assume_pred","bindings","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","check_impl","check_pred","children","children_to_fixpoint","clear_children","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","contains","contains_all","define_var","define_vars","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downgrade","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold_bty","fold_ty","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","has_free_vars","in_mut_ref","index","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into_fixpoint","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_forall","is_head","is_leaf","iter","kind","name_gen","nbindings","new","new","new","next","next_name_idx","parent","pretty","ptr","ptr","ptr","push_comment","push_guard","push_node","rcx","refine_ctxt_at","refine_ctxt_at_root","refine_ctxt_at_root","replace_evars","replace_evars","root","root","scope","scope","shallow","shallow","simplify","simplify","snapshot","subtree_at","to_fixpoint","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","tree","tree","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unpack","unpack","unpack_exists","unpack_exists","unpack_inside_mut_ref","unpack_inside_mut_ref","unpacker","upgrade","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","yes","check_overflow","bindings_chain","flatten_conjs","fmt_children","preds_chain","Exists","Indexed","None","Output","Pre","Sig","SigTable","Some","args","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","extend","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","get","get_bin_op_sig","get_un_op_sig","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","map","new","out","overflow","pre","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_ty","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BIN_OPS","E","UN_OPS","arc","mk_bool_bin_ops","mk_neg","mk_not","mk_shift_ops","mk_signed_bin_ops","mk_unsigned_bin_ops","BIN_OPS","E","UN_OPS","arc","mk_neg","mk_signed_bin_ops","mk_unsigned_bin_ops","BasicBlockEnv","BasicBlockEnvData","BasicBlockEnvShape","Generalizer","TypeEnv","alloc","alloc_universal_loc","alloc_with_ty","assign","bindings","bindings","bindings","block_with","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_goto","clone","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","constrs","data","default","default_cx","default_cx","default_cx","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","drop","drop","drop","drop","drop","enter","enter","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold_bty","fold_ty","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generalize","get","init","init","init","init","init","into","into","into","into","into","into_bb_env","into_infer","into_parts","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","join_bty","join_generic_arg","join_idx","join_ty","local_decls","lookup_place","move_place","new","new","new","pack_bty","pack_generic_arg","pack_ty","preds","pretty","projection","ptr_to_borrow","replace_evars","scope","scope","scope","to_owned","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unblock","unfold","unpack","update","update_path","vars","visit_with","vzip","vzip","vzip","vzip","vzip","","","Binding","Box","CheckerResult","Cursor","Err","Error","Iter","LocKind","Local","LookupKey","LookupMode","LookupResult","NoUnfold","Ok","PlacesTree","Unfold","Unfolder","Universal","Updater","as_any","bindings","block_with","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_root","change_root","checker_conf","clone","clone","clone","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cursor","cursor","cursor","default","default_cx","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","downcast","downcast_enum","downcast_struct","downcast_struct","downcast_struct","downcast_struct","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","field","field","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","flatten","fmap_mut","fmt","fmt","fmt","fmt","fold","fold","fold_field_at","fold_ty","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","get","get_loc","get_loc_mut","has_work","in_ref","index","init","init","init","init","init","init","init","init","init","insert","insertions","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_strg","iter","iter_flatten","kind","loc","loc","lookup","lookup_inner","lookup_unfolding","map","new","new","new","new_ty","next","path","paths","pos","pretty","proj","proj","rcx","remove","reset","run","should_continue","struct_variant","to_owned","to_owned","to_owned","to_path","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_predicate","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_fmap_mut","try_fold_binder","try_fold_bty","try_fold_expr","try_fold_region","try_fold_sort","try_fold_ty","try_fold_ty","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unblock","unfold","unfold","unfold_box","unpack","unpack","unpack","unpack","unpack_for_downcast","update","update","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_refineck"],[20,"flux_refineck::checker"],[225,"flux_refineck::checker::errors"],[280,"flux_refineck::constraint_gen"],[487,"flux_refineck::errors"],[747,"flux_refineck::fixpoint_encoding"],[1088,"flux_refineck::fixpoint_encoding::fixpoint"],[1306,"flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated"],[1490,"flux_refineck::ghost_statements"],[1614,"flux_refineck::ghost_statements::fold_unfold"],[1822,"flux_refineck::ghost_statements::points_to"],[2207,"flux_refineck::invariants"],[2210,"flux_refineck::invariants::errors"],[2233,"flux_refineck::queue"],[2293,"flux_refineck::refine_tree"],[2640,"flux_refineck::refine_tree::AssumeInvariants"],[2641,"flux_refineck::refine_tree::pretty"],[2645,"flux_refineck::sigs"],[2741,"flux_refineck::sigs::default"],[2751,"flux_refineck::sigs::overflow"],[2758,"flux_refineck::type_env"],[2930,"flux_refineck::type_env::projection"],[3230,"flux_middle::global_env"],[3231,"rustc_span::span_encoding"],[3232,"flux_middle::rty::expr"],[3233,"core::option"],[3234,"rustc_span"],[3235,"flux_common::cache"],[3236,"rustc_span::def_id"],[3237,"core::result"],[3238,"alloc::vec"],[3239,"rustc_middle::arena"],[3240,"core::iter::traits::collect"],[3241,"rustc_hir"],[3242,"flux_middle::rty::expr"],[3243,"flux_middle::rty"],[3244,"rustc_type_ir::ty_kind"],[3245,"flux_middle::rty"],[3246,"flux_middle::rustc::mir"],[3247,"rustc_middle::mir"],[3248,"flux_middle::rustc::mir"],[3249,"flux_middle::rty"],[3250,"core::ops::function"],[3251,"rustc_infer::infer"],[3252,"core::convert"],[3253,"rustc_data_structures::graph::dominators"],[3254,"icu_provider_adapters::filter"],[3255,"core::fmt"],[3256,"core::fmt"],[3257,"flux_middle::rustc::mir"],[3258,"rustc_data_structures::unord"],[3259,"flux_middle::intern"],[3260,"rustc_middle::ty::context"],[3261,"core::any"],[3262,"flux_middle::queries"],[3263,"flux_middle::rty::evars"],[3264,"rustc_errors"],[3265,"rustc_errors::diagnostic_builder"],[3266,"core::any"],[3267,"flux_middle::rty"],[3268,"flux_middle::rty::expr"],[3269,"core::hash"],[3270,"flux_middle::rty"],[3271,"core::ops::function"],[3272,"core::marker"],[3273,"flux_fixpoint::constraint"],[3274,"flux_fixpoint::constraint"],[3275,"rustc_serialize::serialize"],[3276,"flux_middle::rty"],[3277,"flux_middle::rty::expr"],[3278,"std::io"],[3279,"flux_middle::rustc::ty"],[3280,"rustc_target::abi"],[3281,"rustc_middle::mir::statement"],[3282,"rustc_middle::mir"],[3283,"rustc_middle::mir::terminator"],[3284,"rustc_middle::mir"],[3285,"flux_middle::rty::expr"],[3286,"core::ops::function"],[3287,"alloc::collections::vec_deque"],[3288,"rustc_mir_dataflow::framework::engine"],[3289,"rustc_middle::mir"],[3290,"flux_common::index"],[3291,"alloc::string"],[3292,"flux_middle::rty::fold"]],"d":["","Raw content of Fluent resource for this crate, generated …","","","","","","","","","Encoding of the refinement tree into a fixpoint constraint.","Ghost statements are statements that are not part of the …","","","","","","","","","","","A Guard describes extra “control” information that …","The corresponding place was found to be of a particular …","","No extra information holds, e.g., for a plain goto.","A predicate that can be assumed, e.g., in the branches of …","","","The result of running the shape phase.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This checks obligations related to closures & generators; …","","","","","","","","","","","","","","","","","","","For check_terminator, the output Vec<BasicBlock, Guard> …","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","LocalDefId of the function-like item being checked.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Generics of the function being checked.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Exprs used to instantiate EarlyBinders for signature of …","The type used for the resume argument of a generator.","","","","","","","A snapshot of the refinement context at the end of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Snapshot of the refinement subtree where the obligations …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An alias for additional bindings introduced when ANF-ing …","Generate a conjunction of kvars, one per argument in …","","","","Environment used to map rty::Var into [fixpoint::Name]. …","","","","","How an rty::KVar is encoded in the fixpoint constraint","","","","Maximum value the index can take.","Maximum value the index can take, as a u32.","An alias for a list of predicate (conjuncts) and their …","Generate a single kvar appending the self arguments and …","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","Used to report bugs","","DefId of the item being checked. This could be a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generate a fresh kvar under several layers of binders. The …","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","","","","","","","","","","","","","Extracts the value of this index as a usize.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Layers of late bound variables","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","","","","","","","","","","","","","","","","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","Creates a new index from a given usize.","","","","","Extracts the value of this index as a usize.","","Extracts the value of this index as a usize.","","Extracts the value of this index as a usize.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","interpreted (theory) function","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","This module implements a points-to analysis for mutable …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Maximum value the index can take.","Maximum value the index can take.","Maximum value the index can take, as a u32.","Maximum value the index can take, as a u32.","Partial mapping from [Place] to PlaceIndex, where some …","","This index uniquely identifies a place.","This is the information tracked for every PlaceIndex and …","Used as the result for r-value.","This implement a points to analysis for mutable references …","","","The dataflow state for an instance of [ValueAnalysis].","See State.","","","","This index uniquely identifies a tracked place and …","","","","","","","","","","","","","","Applies a single projection element, yielding the …","","","","","","","","","Extracts the value of this index as a u32.","Extracts the value of this index as a u32.","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","Helper method to interpret target = result.","","","","","","","","","","","","","","","","","","","","","","","","","Precompute the list of values inside root and store it …","Iterate over all direct children.","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns all locals with projections that have their …","","","","","","","","","","","Locates the given place, if it exists in the tree.","The left-most child.","","","","","","","","","","","","Invoke a function on the given place and all places that …","","","Invoke a function on each value in the given place and all …","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given u32.","Creates a new index from a given usize.","Creates a new index from a given usize.","Retrieve the value stored for a place, or ⊤ if it is not …","Retrieve the value stored for a place index, or ⊤ if it …","Retrieve the value stored for a place index if tracked","","","","","","The effect of a successful function call return should not …","","","","Extracts the value of this index as a usize.","Extracts the value of this index as a usize.","","","","","","","","","","","","","","","Low-level method that assigns to a place. This does …","Copies source to target, including all tracked places …","","Low-level method that assigns a value to a place. This …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns a map that only tracks places whose type has …","","","","","","Index of the sibling to the right of this node.","","","","","","The projection used to go from parent to this node (only …","","Register all non-excluded places that have scalar layout.","Potentially register the (local, projection) place and its …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We store a ValueIndex if and only if the placed is tracked …","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A refinement context tracks all the refinement parameters …","A reference to a subtree rooted at a particular node in a …","A refinement tree tracks the “tree-like structure” of …","A ist of refinement variables and their sorts.","A snapshot of a RefineCtxt at a particular point during …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","Defines a fresh refinement variable with the given sort. …","Given a sort that may contain nested tuples, it destructs …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Whether t has any free variables not in this scope","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","Returns true if the node kind is ForAll.","Returns true if the node kind is Head.","","","","","Number of bindings between the root and this node’s …","","","","","","","","","","","","","","","","","","","","","","","Returns the scope at the snapshot if it is still valid or …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","We keep a reference to the underlying RefineTree to prove …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This set of signatures does not check for overflow. They …","","","","","","","This set of signatures checks for overflow and underflow. …","","","","","","","","","","","","","","","","","","","When checking a borrow in the right hand side of an …","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","join(self, genv, other) consumes the bindings in other, to …","","","","","","","","","","","","","","","","","Converts a pointer ptr(mut, l) to a borrow &mut T for a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Contains the error value","","","","","","","","","Contains the success value","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","In contrast (w.r.t. struct) downcast on enum works as …","downcast on struct works as follows Given a struct …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,31,0,31,31,0,0,0,8,8,8,8,46,47,21,0,0,21,46,47,72,31,8,21,46,47,72,31,8,21,21,21,21,21,21,21,21,21,21,21,21,28,46,47,21,21,21,21,21,21,21,8,21,21,21,21,21,28,46,47,8,8,21,46,47,72,31,8,21,28,21,46,47,21,21,46,47,72,31,8,21,46,47,72,31,8,21,21,46,47,72,31,8,28,46,47,0,21,46,47,72,31,8,8,21,21,46,46,47,47,72,72,31,31,8,8,21,46,47,72,31,8,21,21,21,21,21,21,46,47,72,31,8,0,0,21,46,47,72,31,8,72,21,46,47,72,31,8,21,47,21,21,21,21,21,21,21,21,8,0,21,21,8,21,46,47,72,31,8,21,46,47,72,31,8,21,46,47,72,31,8,21,46,47,72,31,8,21,46,47,72,31,8,0,0,0,21,21,46,47,72,31,8,0,0,83,83,259,83,83,0,27,83,27,83,27,83,27,83,27,83,27,83,27,83,83,27,27,83,83,83,83,27,83,27,83,27,83,27,27,83,27,27,27,27,83,27,83,27,83,27,83,27,83,27,83,259,259,95,95,95,0,0,95,95,95,0,0,0,95,95,95,95,0,11,11,95,95,11,11,95,95,11,95,59,42,89,11,95,59,42,89,11,95,89,89,59,59,59,59,59,89,59,89,11,95,11,95,59,42,89,11,95,59,89,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,11,11,95,11,95,11,11,11,11,11,95,95,95,95,95,89,59,42,89,11,95,11,11,95,100,100,89,89,89,89,59,59,42,42,89,89,11,11,95,95,59,42,89,11,95,89,59,89,11,95,89,59,59,42,89,11,95,89,89,89,59,42,89,11,95,59,42,89,11,95,59,89,0,0,59,42,89,11,89,89,89,59,89,89,42,0,89,89,11,59,89,59,89,89,42,89,59,11,59,89,89,11,95,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,59,42,89,11,95,89,59,42,89,11,95,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,113,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,114,114,115,117,110,113,114,118,119,120,121,122,123,114,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,115,117,117,110,110,113,113,114,114,118,118,119,119,120,120,121,121,122,122,123,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,120,114,114,115,117,110,113,114,118,119,120,121,122,123,114,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,115,117,110,113,114,118,119,120,121,122,123,0,99,140,0,0,0,0,0,0,0,0,0,0,0,124,124,0,99,0,140,124,124,124,99,99,124,124,99,99,124,140,125,124,124,125,124,125,156,145,126,142,124,73,136,99,140,125,156,145,126,142,124,73,136,99,140,260,261,125,124,136,99,124,136,99,124,125,156,145,126,142,124,73,136,99,140,125,124,124,125,126,262,126,124,125,125,73,125,156,145,126,142,124,73,136,99,140,125,156,145,126,142,124,73,136,99,140,125,156,145,126,142,124,73,136,99,140,124,136,125,126,124,140,124,140,124,124,124,124,124,140,140,140,140,140,126,126,125,156,145,126,142,124,73,136,99,140,0,0,125,124,124,124,73,73,145,125,125,156,156,145,145,126,126,142,142,124,124,124,124,73,73,136,136,99,99,140,140,125,156,145,126,142,124,73,136,99,140,124,124,124,124,0,126,145,125,73,145,145,124,140,262,125,124,124,125,156,145,126,142,124,73,136,99,140,263,145,125,156,145,126,142,124,73,136,99,140,125,156,145,126,142,124,73,136,99,140,125,125,73,125,145,145,260,261,145,142,125,156,145,126,124,73,156,124,125,125,125,124,145,0,145,136,142,0,156,136,124,0,142,125,125,125,124,136,99,125,156,145,126,142,124,73,136,99,140,125,156,145,126,142,124,73,136,99,140,124,125,156,145,126,142,124,73,136,99,140,125,156,145,126,142,124,73,136,99,140,126,125,156,145,126,142,124,73,136,99,140,142,126,125,156,145,126,142,124,73,136,99,140,125,163,0,0,163,0,162,146,133,162,146,133,0,162,146,133,162,162,146,146,133,133,163,163,162,162,146,146,133,133,163,163,162,146,133,162,146,133,162,146,133,162,146,133,162,146,133,163,162,146,133,163,162,146,133,163,162,146,133,163,162,146,133,162,146,133,163,162,162,146,146,133,133,162,146,133,162,146,133,163,162,146,133,163,162,146,133,163,162,146,133,162,146,133,162,146,133,162,162,162,162,162,146,146,146,146,146,133,133,133,133,133,162,146,133,163,0,162,162,146,133,163,163,162,146,133,162,162,162,162,146,146,146,146,133,133,133,133,163,163,163,163,162,146,133,163,162,146,133,162,146,133,162,146,133,162,146,133,163,162,162,146,146,133,133,162,146,133,163,162,146,133,163,162,146,133,163,162,146,133,162,146,133,162,146,133,162,146,133,162,146,133,163,162,146,133,163,162,146,133,163,162,163,162,146,133,163,162,146,133,163,162,146,133,163,162,146,133,163,264,153,265,265,153,153,266,0,265,0,0,264,0,266,165,0,153,266,265,153,267,0,264,164,153,265,0,0,266,0,265,0,153,164,165,0,0,0,265,153,265,265,267,165,165,165,165,268,268,153,164,148,165,131,153,164,148,165,131,153,164,148,165,153,164,148,165,153,164,148,165,131,269,270,270,270,153,164,148,165,131,153,164,148,165,131,153,164,148,165,131,153,164,148,165,131,153,164,148,153,153,164,164,148,148,165,165,131,131,153,164,148,165,131,148,268,153,164,148,165,153,164,148,165,131,153,164,148,165,131,153,164,148,165,131,270,269,271,268,148,271,148,270,270,271,269,270,153,164,148,165,153,164,148,165,131,153,164,148,165,131,153,164,148,153,164,148,165,131,153,164,148,165,131,153,164,148,165,131,153,164,148,165,131,45,0,44,0,0,45,0,0,44,0,44,44,68,0,45,45,45,45,45,68,68,68,272,273,68,44,167,45,68,44,167,45,45,45,68,44,167,45,0,68,44,167,45,68,44,167,45,68,44,167,45,45,45,45,45,45,45,45,68,68,44,167,45,44,45,0,68,68,44,44,167,167,45,45,68,44,167,45,45,68,44,167,45,167,68,68,44,167,45,68,44,167,45,68,167,0,68,167,45,68,44,167,45,68,44,167,45,68,44,167,45,68,44,167,45,68,44,167,45,68,44,167,45,68,173,173,173,0,0,178,0,173,0,181,0,172,178,181,0,0,0,173,173,178,0,170,170,170,170,179,180,181,171,178,173,170,179,180,181,171,178,173,171,173,171,173,170,179,180,181,171,178,173,173,171,171,173,173,170,179,180,181,171,178,173,173,170,179,180,181,171,178,173,170,0,171,173,0,170,179,180,181,171,178,173,173,173,170,179,180,181,171,178,173,171,178,173,173,170,170,179,179,180,180,181,181,171,171,178,178,173,173,170,179,180,181,171,178,173,170,170,172,179,180,170,179,180,181,171,178,173,180,170,179,180,181,171,178,173,170,179,180,181,171,178,173,171,173,170,171,170,170,171,170,172,179,180,171,170,172,179,180,170,170,180,170,171,173,170,179,180,181,171,178,173,170,179,180,181,171,178,173,170,179,180,181,171,178,173,170,179,180,181,171,178,173,170,179,180,181,171,178,173,171,170,170,179,180,181,171,178,173,0,0,182,183,182,183,0,196,0,0,0,0,197,0,0,0,196,197,196,0,274,182,183,0,182,182,183,183,182,182,183,183,274,185,186,186,186,186,182,183,197,194,182,183,182,183,194,182,183,207,186,207,208,196,185,203,182,183,197,194,186,207,208,196,185,203,182,183,197,194,186,185,185,182,183,197,194,197,194,182,183,197,194,182,183,186,207,208,196,185,203,182,183,197,194,182,182,183,183,0,0,182,183,186,207,208,196,185,203,182,183,197,194,186,207,208,196,185,203,182,183,197,194,186,207,208,196,185,203,182,183,197,194,182,183,274,182,183,197,194,182,183,197,194,182,182,182,182,182,183,183,183,183,183,197,197,197,197,197,194,194,194,194,194,0,186,207,208,196,185,203,182,183,197,194,185,203,194,194,185,203,182,183,197,194,194,194,186,185,185,185,185,182,183,186,186,207,207,208,208,196,196,185,185,203,203,182,182,182,182,183,183,183,183,197,197,194,194,186,207,208,196,185,203,182,183,197,194,182,183,182,183,182,183,194,194,194,186,186,186,186,186,186,182,183,182,182,183,183,186,207,208,196,185,203,182,183,197,194,186,185,185,194,194,207,194,186,207,208,196,185,203,182,183,197,194,208,186,207,208,196,185,203,182,183,197,194,194,185,186,207,208,186,207,208,185,203,182,183,208,208,203,182,183,185,182,183,203,185,185,185,182,183,207,182,183,197,194,186,207,208,196,185,203,182,183,197,194,186,207,208,196,185,203,182,183,197,194,207,186,207,208,196,185,203,182,183,197,194,186,207,208,196,185,203,182,183,197,194,186,207,208,196,185,203,182,183,197,194,185,203,194,207,207,207,186,207,208,196,185,203,182,183,197,194,0,0,0,0,0,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,216,0,0,217,217,217,218,217,218,217,217,218,217,217,217,218,217,218,217,218,217,218,218,217,217,217,217,217,217,217,217,218,217,217,218,218,217,218,218,217,218,218,217,218,217,218,217,218,218,217,218,217,218,217,218,217,218,217,218,217,218,0,228,228,228,228,228,225,0,0,0,0,0,0,0,0,0,228,0,0,225,144,79,22,22,221,22,144,79,76,22,49,223,220,228,221,225,226,144,219,79,76,22,49,223,220,228,221,225,226,144,219,22,22,22,223,0,76,219,219,79,76,22,49,223,220,228,221,225,226,144,219,144,144,22,22,79,76,22,49,223,220,228,221,225,226,144,219,219,79,76,22,49,223,220,228,221,225,226,144,219,219,79,76,22,49,223,220,228,221,225,226,144,219,144,144,144,144,144,144,144,79,76,22,49,223,220,228,221,225,226,144,219,79,79,76,76,22,22,144,144,219,221,221,79,79,76,76,22,22,49,49,223,223,220,220,228,228,221,221,225,225,226,226,144,144,219,219,79,76,22,49,223,220,228,221,225,226,144,219,144,221,144,79,76,22,49,223,220,228,221,225,226,144,219,79,76,22,49,223,220,228,221,225,226,144,219,79,226,79,76,22,49,223,220,228,221,225,226,144,219,223,223,223,144,223,219,223,79,221,226,226,219,223,0,22,49,226,22,219,219,221,76,79,76,22,223,79,76,22,49,221,221,79,223,22,22,223,219,79,76,22,49,223,220,228,221,225,226,144,219,79,76,22,49,223,220,228,221,225,226,144,219,76,22,221,221,221,221,221,221,79,76,22,49,223,220,228,221,225,226,144,219,79,76,22,49,223,220,228,221,225,226,144,219,79,76,22,49,223,220,228,221,225,226,144,219,22,221,221,221,221,221,22,220,79,76,22,49,223,220,228,221,225,226,144,219,225,275,0,0,0,0,234,234,276,0,0,0,0,276,233,233,276,234,231,233,276,234,231,233,276,234,231,0,233,276,234,231,233,276,234,231,233,276,234,231,231,233,276,234,231,233,233,276,276,234,234,231,231,233,276,234,231,231,0,0,233,276,234,231,233,276,234,231,233,276,234,231,231,231,233,0,233,233,276,234,231,233,276,234,231,234,233,276,234,231,233,276,234,231,233,276,234,231,233,276,234,231,0,0,0,277,0,0,0,0,0,0,0,0,0,278,0,0,0,0,0,0,0,0,23,23,23,23,236,240,23,23,236,74,240,238,23,23,236,74,240,238,23,23,23,23,236,74,240,238,23,240,74,23,236,74,23,236,74,240,238,23,236,74,240,238,23,23,236,74,240,238,23,236,74,236,74,240,238,23,236,236,74,74,23,23,23,238,238,236,236,74,74,240,240,238,238,23,23,236,74,240,238,23,238,23,236,74,240,238,23,236,74,240,238,23,236,23,238,236,74,240,238,23,236,236,236,236,236,23,23,23,236,238,23,236,236,236,238,0,0,23,23,74,236,74,23,236,74,240,238,23,236,74,240,238,23,238,238,238,238,238,238,240,236,74,240,238,23,236,74,240,238,23,236,74,240,238,23,23,23,23,236,23,238,240,236,74,240,238,23,0,0,0,249,0,0,279,256,255,0,249,0,0,0,0,279,0,0,0,249,0,249,244,244,244,252,253,245,250,246,247,248,249,244,252,253,245,250,246,247,248,249,245,246,245,247,248,249,247,248,249,244,252,253,245,250,246,247,248,249,244,245,250,247,247,244,252,253,245,245,250,250,246,247,248,249,244,252,253,245,250,246,247,248,249,0,245,0,0,256,252,253,244,252,253,245,250,246,247,248,249,249,249,249,249,249,249,249,245,250,244,252,253,245,250,246,247,248,249,247,247,247,247,249,249,0,244,250,250,244,244,252,252,253,253,245,245,250,250,246,246,247,247,248,248,249,249,244,252,253,245,250,246,247,248,249,245,247,247,247,245,245,245,244,252,253,245,250,246,247,248,249,247,245,244,252,253,245,250,246,247,248,249,244,252,253,245,250,246,247,248,249,244,247,247,248,255,246,247,247,247,247,245,250,246,250,246,244,247,246,0,255,246,245,247,246,245,245,0,247,248,249,246,244,252,253,245,250,246,247,248,249,244,252,253,245,250,246,247,248,249,247,250,250,250,250,250,245,250,247,244,252,253,245,250,246,247,248,249,244,252,253,245,250,246,247,248,249,244,248,244,252,253,245,250,246,247,248,249,244,245,247,245,256,252,253,245,245,244,250,247,244,252,253,245,250,246,247,248,249],"f":[0,0,0,0,[[1,2,[4,[3]]],5],[[1,6,7,8],[[10,[9,5]]]],0,0,0,0,0,0,0,0,0,[[1,[12,[11]]],[[10,[9,5]]]],[[1,2,[4,[3]]],5],0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],0,0,0,[[17,18],19],[[17,20],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[21,[-1]],22,23,2,[14,[24]]],[[10,[[10,[[12,[[26,[25]]]],27]],27]]],28],[[[21,[-1]],22,23,2,24,29,30],[[10,[31,27]]],28],[[[21,[-1]],22,23,32,19,33],[[10,[9,27]]],28],[[[21,[-1]],22,23,34],[[10,[9,27]]],28],[[[21,[-1]],22,23,2,35,24,24],[[10,[19,27]]],28],[[[21,[-1]],22,23,2,[4,[36]],[38,[37]],[14,[39]],[14,[19]]],[[10,[19,27]]],28],[[[21,[-1]],40,19,41],[[10,[19,27]]],28],[[[21,[-1]],22,42],[[10,[9,27]]],28],[[[21,[-1]],43],[[10,[19,27]]],28],[[[21,[-1]],22,23,44,2],[[10,[9,27]]],28],[[[21,[-1]],22,23,45,2],[[10,[9,27]]],28],[[[21,[-1]],22,23,34,2,34],[[10,[9,27]]],28],[[[21,[-1]],22,23,2,34],[[10,[29,27]]],[]],[[[21,[46]],22,23,2,34],[[10,[29,27]]]],[[[21,[47]],22,23,2,34],[[10,[29,27]]]],[[19,48],[[12,[[9,[34,31]]]]]],[[[21,[-1]],22,23,2,32],[[10,[19,27]]],28],[[19,48],[[12,[[9,[34,31]]]]]],[[[21,[-1]],22,49,50],[[10,[9,27]]],28],[[[21,[-1]],22,49,51],[[10,[9,27]]],28],[[[21,[-1]],22,23,2,24],[[10,[19,27]]],28],[[[21,[-1]],22,23,2,[14,[24]]],[[10,[[12,[19]],27]]],28],0,[[[21,[-1]],22,23,2,52],[[10,[19,27]]],28],[[[21,[-1]],22,23,53],[[10,[9,27]]],28],[[[21,[-1]],22,23,34,2,[12,[[9,[34,31]]]]],[[10,[9,27]]],28],[[[21,[-1]],22,23,54,[4,[2]]],[[10,[[12,[[9,[34,31]]]],27]]],28],[[[21,[-1]],22,23,2,55,24],[[10,[19,27]]],28],[[[21,[-1]],34],9,[]],[[[21,[46]],34],9],[[[21,[47]],34],9],[8,8],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[[-1,1,58,-2,[14,[17]],22,2],59,[],[[60,[36]]]],[[[21,[-1]],22,2],59,28],[[46,1,58,-1,[14,[17]],22,2],59,[[60,[36]]]],[[47,1,58,-1,[14,[17]],22,2],59,[[60,[36]]]],0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[[21,[-1]]],[[62,[34]]],28],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[[21,[-1]],22,34],23,[]],[[[21,[46]],22,34],23],[[[21,[47]],22,34],23],0,[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[8,65],66],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,0,[[[21,[-1]]],68,28],0,[[],61],[[22,69,70,8],23],[[],61],[[],61],[[],61],[[],61],[[],61],[18,71],[[17,18,18],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[72,73],[[75,[7,[75,[34,74]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[21,[-1]],34],29,28],0,0,0,0,0,0,[[1,76,7,[77,[7,68]],-1,[38,[37]],[4,[[78,[17]]]],8],[[10,[9,27]]],28],[[1,7,[77,[7,68]],72,8],[[10,[[9,[79,73]],27]]]],[[1,7,[77,[7,68]],8],[[10,[72,27]]]],0,[[69,[80,[34,[4,[49]]]],34],49],[[[21,[-1]],34],49,28],0,[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[20,71],[[17,20,18],19],[[17,20,20],19],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[83,65],66],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[84,83],[[[10,[-1]]],-1,[]],[85,83],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[[27,86],[[87,[5]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[36,2],27],0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,2],[[10,[27]]],[]],[[-1,33],[[10,[27]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[-1,88,[]],[-1,88,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[89,22,90,90],[[10,[9,83]]]],[[89,22,23,91],[[10,[9,83]]]],[[59,22,[38,[92]],[14,[39]],[14,[19]]],[[10,[19,83]]]],[[59,22,23,[4,[36]],[38,[37]],[14,[39]],[14,[19]]],[[10,[[9,[[94,[93]],42]],83]]]],[[59,36,[14,[39]]],[[10,[9,83]]]],[[59,22,23,[14,[19]],19],[[10,[19,83]]]],[[59,22,-1,95],9,[[60,[17]]]],[[89,22,-1],9,[[60,[17]]]],[[59,22,23,[94,[93]]],[[10,[42,83]]]],[[89,22,23,96,19],[[10,[9,83]]]],[11,11],[95,95],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],0,[[11,11],29],[[95,95],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],0,[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[11,97,65],66],[[11,65],66],[[95,65],66],[[-1,[14,[[78,[98]]]],99],17,[]],[[100,[14,[[78,[98]]]],99],17],[[89,98],17],[[89,98,101],17],[[89,[14,[[78,[98]]]],102],17],[[89,[14,[[78,[98]]]],99],17],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[89,22,103,39,39],[[10,[9,83]]]],0,0,[[11,-1],9,104],[[95,-1],9,104],[[89,22,17,17,[105,[29]]],9],[[59,22,95],89],[[],61],[[],61],[[],61],[[],61],[[],61],[[89,[12,[106]]],9],[[89,[14,[39]]],[[12,[39]]]],[[89,1,[4,[36]]],[[10,[[12,[17]],83]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[1,36,107,36],[[10,[[12,[106]],83]]]],[[1,36,[14,[39]],[14,[17]]],[[10,[[78,[106]],83]]]],[[1,58,36,[14,[17]],-1,2],59,100],[[[78,[106]],49],42],[[1,58,36,[14,[17]],22,100,11],89],[[95,2],11],[89,[[12,[106]]]],0,[[89,22,19,108],[[10,[9,83]]]],[[59,23,[14,[19]]],[[10,[[12,[19]],83]]]],[89,9],[[89,22,[94,[17]],[94,[17]]],9],0,0,[[89,19,36],[[10,[19,83]]]],[[89,22],9],0,0,0,0,0,0,0,[89,[[10,[109,85]]]],0,0,[[59,22,19,19,95],9],[[89,22,19,19],[[10,[9,83]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[89,17,17,29],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[11,[4,[3]]],11],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[110,111,-1],9,112],[[113,111,-1],9,112],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[2,[4,[3]]],114],0,[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[115,86],[[87,[-1]]],116],[[117,86],[[87,[-1]]],116],[[114,86],[[87,[-1]]],116],[[118,86],[[87,[-1]]],116],[[119,86],[[87,[-1]]],116],[[120,86],[[87,[-1]]],116],[[121,86],[[87,[-1]]],116],[[122,86],[[87,[-1]]],116],[[123,86],[[87,[-1]]],116],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[63,2,[4,[3]]],114],[[2,[4,[3]]],114],0,0,0,0,0,0,0,0,0,0,0,0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[124,61],124],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[-1,88,[]],[-1,88,[]],[[[125,[-1]]],126,[127,128,129]],[124,130],[124,61],[[[132,[131]],133,134],[[132,[131]]]],[[124,61],[[4,[124]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[125,[-1]],6,[132,[131]],8],[[135,[[12,[-1]]]]],[127,128,129]],[124,124],[136,136],[99,99],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[124,124],137],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],0,0,0,0,[-1,124,138],0,[[[125,[-1]]],2,[127,128,129]],[[],73],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[124,-1],9,139],0,0,0,[[124,124],29],[[140,140],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[126,17],[[141,[131]]]],[[126,-1],[[12,[[141,[131]]]]],15],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],0,[1,[[143,[140,142]]]],0,[[124,65],66],[[124,65],66],[[124,61],[[4,[124]]]],[[73,[14,[[78,[98]]]],144,99],17],[[73,61,-1,99],17,15],[145,146],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[61,124],[130,124],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[63,[[10,[124]]]],[130,124],[130,124],[61,124],[147,148],[[126,17],[[149,[131]]]],0,0,[[73,150],136],[[145,151],[[4,[146]]]],[[145,152,130],[[4,[146]]]],[[124,-1],9,104],[[140,-1],9,104],0,[[[125,[-1]],17,98,[12,[[9,[146,153,[141,[131]]]]]]],146,[127,128,129]],[124,61],[124,61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],0,[[145,151],146],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[125,[-1]],154,[12,[[9,[146,153,[141,[131]]]]]]],[[155,[131]]],[127,128,129]],0,0,0,[145,[[14,[146]]]],0,0,0,0,0,[[1,7,73],[[125,[-1]]],[127,128,129]],[[[12,[153]],150],156],[[],145],[[145,[143,[140,142]],2],126],[61,124],[[],73],0,[[124,124],[[4,[137]]]],[[[125,[-1]],150],9,[127,128,129]],[[[125,[-1]],17],[[9,[[12,[[9,[146,153,[141,[131]]]]]],[12,[[9,[[155,[131]],[4,[3]]]]]]]]],[127,128,129]],[[[125,[-1]],17,[12,[[9,[146,153,[141,[131]]]]]],[12,[[9,[[155,[131]],[4,[3]]]]]]],9,[127,128,129]],0,[[145,61],9],[[2,[143,[140,142]],157],[[158,[131]]]],[[145,151],9],0,0,[98,153],0,0,[[124,124],[[4,[61]]]],[[[12,[[9,[146,153,[141,[131]]]]]],[132,[131]]],[[132,[131]]]],0,[[[125,[-1]],-1],124,[159,127,128,129]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,160,[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[126,[14,[17]]],[[141,[131]]]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],0,[[126,161],146],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[125,[-1]],151,-2],-3,[127,128,129],57,[]],0,0,0,0,0,0,0,0,0,0,0,0,[[162,61],162],[[146,61],146],[[133,61],133],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[162,130],[146,130],[133,130],[162,61],[146,61],[133,61],[[162,61],[[4,[162]]]],[[146,61],[[4,[146]]]],[[133,61],[[4,[133]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[162,162],[146,146],[133,133],[163,163],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[162,162],137],[[146,146],137],[[133,133],137],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[-1,162,138],[-1,146,138],[-1,133,138],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[[162,-1],9,139],[[146,-1],9,139],[[133,-1],9,139],[[162,162],29],[[146,146],29],[[133,133],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],0,[[162,65],66],[[162,65],66],[[146,65],66],[[133,65],66],[[163,65],66],[[163,65],66],[[162,61],[[4,[162]]]],[[146,61],[[4,[146]]]],[[133,61],[[4,[133]]]],[61,162],[-1,-1,[]],[[[10,[-1]]],-1,[]],[130,162],[[[10,[-1]]],-1,[]],[-1,-1,[]],[61,146],[130,146],[130,133],[-1,-1,[]],[[[10,[-1]]],-1,[]],[61,133],[146,163],[133,163],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[130,162],[130,146],[130,133],[130,162],[130,146],[130,133],[61,162],[61,146],[61,133],[[162,-1],9,104],[[146,-1],9,104],[[133,-1],9,104],[[163,-1],9,104],[162,61],[162,61],[146,61],[146,61],[133,61],[133,61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[61,162],[61,146],[61,133],[[162,162],[[4,[137]]]],[[146,146],[[4,[137]]]],[[133,133],[[4,[137]]]],0,0,0,[[162,162],[[4,[61]]]],[[146,146],[[4,[61]]]],[[133,133],[[4,[61]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,160,[]],[-1,160,[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[153,153],[164,164],[148,148],[165,165],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,0,0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[153,65],[[10,[9,166]]]],[[164,65],[[10,[9,166]]]],[[148,65],[[10,[9,166]]]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,0,[[153,-1],9,104],[[164,-1],9,104],[[148,-1],9,104],[[165,-1],9,104],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[61,-1,153],148,15],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,160,[]],[-1,160,[]],[-1,160,[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,[[68,69],9],[[81,7],[[0,[56]]]],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],[-1,88,[]],[[68,45],167],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[45,45],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[1,7],[[135,[[77,[7,68]]]]]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[[45,45],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[68,45,-1],9,15],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[44,65],66],[[45,65],66],0,[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[45,-1],9,104],[[],61],[[],61],[[],61],[[],61],[[167,44],9],[[68,45,44],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,7],[[135,[68]]]],0,0,[[68,45],[[0,[56]]]],0,[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[68,81,69,-1],[[168,[9]]],169],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[68,1,69],135],[[[170,[-1]],34,171],135,172],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[171,171],[173,173],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[173,173,32,167],9],[[171,171,167],9],[[171,69,167],9],[[173,32,167],9],[[173,32,167],29],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[173,[[9,[173,29]]]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],0,[[1,174,175,176],[[135,[[12,[173]]]]]],[[171,1,32,176],135],[[173,1,176],[[135,[[9,[173,29]]]]]],[[1,174,175],[[135,[[12,[173]]]]]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[173,1,177],[[135,[[9,[173,29]]]]]],[[173,1],[[135,[[9,[[12,[173]],29]]]]]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[171,65],66],[[178,65],66],[[173,65],66],[173,29],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,[[[170,[-1]],34,34,171],135,172],[[[170,[-1]],34,34,171],[[135,[29]]],[]],[[[170,[179]],34,34,171],[[135,[29]]]],[[[170,[180]],34,34,171],[[135,[29]]]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[180,45,44],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[171,1,171],[[135,[29]]]],[[173,1,173,29],[[135,[[9,[29,29]]]]]],0,0,0,[[1,69,[75,[34,171]],-1],[[170,[-1]]],[]],[69,171],[[[170,[-1]],24,171],135,172],[[[170,[-1]],171,32,181],135,[]],[[[170,[179]],171,32,181],135],[[[170,[180]],171,32,181],135],[[171,1,32],[[135,[178]]]],0,[[[170,[-1]],34,171],9,[]],[[[170,[179]],34,171],9],[[[170,[180]],34,171],9],[[[170,[-1]]],135,172],[[[170,[-1]],53,171],135,172],0,[[[170,[-1]],54,171],135,172],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[171,1,32],[[135,[[9,[173,29]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[182,61],182],[[183,61],183],[[68,1,184,7],135],[[16,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[13,-1],[[14,[-2]]],15,[]],[[16,-1],[[14,[-2]]],15,[]],[[-1,13],-2,[],[]],[[-1,16],-2,[],[]],[[-1,16],-2,[],[]],[[-1,13],-2,[],[]],0,[[185,182,177],[[4,[182]]]],[[186,34,187],9],[[186,188,189],9],[[186,34,190,-1],9,191],[[186,192,189],193],[-1,88,[]],[-1,88,[]],[-1,88,[]],[-1,88,[]],[182,130],[183,130],[182,61],[183,61],[[194,195,196,185],9],[[182,61],[[4,[182]]]],[[183,61],[[4,[183]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[186,184]],[[185,182],9],[[185,182],[[0,[56]]]],[182,182],[183,183],[197,197],[194,194],[[197,197],9],[[194,194],9],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[182,182],137],[[183,183],137],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[[[198,[183,-1]],[4,[[198,[183,-1]]]],185,65],66,[159,128]],[[182,63,[198,[183,-1]],[4,[[198,[183,-1]]]],185,65],66,[159,128]],[-1,182,138],[-1,183,138],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[182,-1],9,139],[[183,-1],9,139],0,[[182,182],29],[[183,183],29],[[197,197],29],[[194,194],29],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[184,[[200,[199]]]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[185,195],[[4,[182]]]],0,[[194,195,185],9],[[194,195,185,[202,[201]]],9],[[185,65],66],[[203,65],66],[[182,65],66],[[183,65],66],[[197,65],66],[[194,65],66],[[194,194,186,65],66],[[194,186,65],66],0,[[185,195,-1],9,204],[[185,-1],9,204],[[185,182,[12,[177]],-1],9,204],[[185,182,-1],9,204],[[182,61],[[4,[182]]]],[[183,61],[[4,[183]]]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[130,182],[61,182],[130,183],[-1,-1,[]],[61,183],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[130,182],[130,183],[130,182],[130,183],[61,182],[61,183],[[194,195,185],[[202,[201]]]],[[194,182,185],[[202,[201]]]],[[194,182,185],[[4,[[202,[201]]]]]],[[186,205,206,194],9],[[186,187,194],9],[[186,190],[[4,[182]]]],[[186,205,194],[[202,[201]]]],[[186,188,194],9],[[186,192,194],193],[[182,-1],9,104],[[183,-1],9,104],[182,61],[182,61],[183,61],[183,61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[186,184],9],0,0,[[194,182,196,185],9],[[194,182,182,185],9],[[207,45,194,194],9],[[194,182,[202,[201]],185],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[194,194],29],0,0,0,0,[[185,[4,[[38,[37]]]]],186],[[185,68],207],[[185,182],208],[184,185],[[[4,[177]]],203],[61,182],[61,183],[208,4],0,0,[[182,182],[[4,[137]]]],[[183,183],[[4,[137]]]],0,0,0,0,0,[[185,184,[200,[199]]],9],[[185,182,209,[210,[[9,[182,177,209]]]]],9],[[182,182],[[4,[61]]]],[[183,183],[[4,[61]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],0,[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],0,0,0,[[207,[211,[186]],194,212,34],9],[[207,[211,[186]],188,189],9],[[207,[211,[186]],188,189],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,6,7,213,2,214,8],[[10,[9,5]]]],[[1,6,7,[14,[215]],213,8],[[10,[9,5]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,56,57,[]],[61,-1,[]],[61,-1,[]],[61,9],[[-1,63],[[64,[-2]]],[],[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[],61],[-1,-2,[],[]],[[216,86],[[87,[-1]]],116],[-1,-2,[],[]],0,[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,-2,[],[]],0,0,[-1,88,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[217,217],137],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],137,[],[]],[[-1,-2],137,[],[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],0,0,[61,9],[61,9],[[61,[62,[34]]],218],[[217,217],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,[[],61],[[],61],[[218,34],29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[217,217],[[4,[137]]]],[218,[[4,[34]]]],0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,88,[]],[79,76],[22,76],[[22,19,29],9],0,[[22,-1],9,[[60,[17]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[22,22],[[22,-1,-2,11],9,[[60,[17]]],[[60,[17]]]],[[22,-1,11],9,[[60,[17]]]],0,[[[125,[11]],[14,[219]]],[[4,[[132,[131]]]]]],[[76,49],9],[219,219],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[144,151],29],[[144,-1],29,15],[[22,98],151],[[22,98],17],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[219],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[219,220],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[144,144],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[79,65],66],[[79,97,65],66],[[76,65],66],[[76,97,65],66],[[22,65],66],[[22,97,65],66],[[144,97,65],66],[[144,65],66],[[219,97,65],66],[[221,90],90],[[221,19],19],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[144,-1],29,222],0,[[144,151]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[79,[125,[11]]],[[132,[131]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[223,29],[223,29],[223,29],[144,[[0,[56]]]],0,[219,[[224,[151]]]],0,[[],79],[[22,225],221],[219,226],[226,4],[219,61],0,0,0,0,0,[[22,-1],22,227],[[219,-1],9,[[60,[17]]]],[[219,228],219],0,[[76,49],[[4,[22]]]],[79,22],[76,22],[[22,109],9],[[223,109],9],0,0,[22,144],[49,[[4,[144]]]],[[221,29],221],0,[79,9],[223,9],[22,49],[[22,49],[[4,[76]]]],[[223,[125,[11]]],[[4,[[132,[131]]]]]],[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],0,0,[[-1,[94,[-2]]],[[10,[[94,[-2]]]]],[],222],[[-1,90],[[10,[90]]],[]],[[-1,[26,[229]]],[[10,[[26,[229]]]]],[]],[[-1,230],[[10,[230]]],[]],[[-1,98],[[10,[98]]],[]],[[-1,[26,[25]]],[[10,[[26,[25]]]]],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[22,19,225],19],[[221,19],19],[[221,29],221],0,[[221,29],221],0,[[22,225],221],[220,[[4,[219]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,225],0,[219,[[9,[[12,[[9,[151,98]]]],[12,[219]]]]]],[[[14,[219]]],[[12,[219]]]],[[[14,[219]],97,65],66],[219,[[9,[[12,[17]],[12,[219]]]]]],0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,9],[61,9],[61,9],[61,9],[[[231,[-1]],-2],9,[127,128,159],15],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[[231,[-1]],-1,[232,[90]]],233,[127,128,159]],[[35,90,90,29],233],[[55,90,29],233],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[231,[-1]]],[128,127]],0,0,0,[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[234,[232,[17]]],19],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[],[[0,[15]]]],[[],[[0,[56]]]],[[],[[9,[55,233]]]],[[],[[0,[15]]]],[[],[[0,[56]]]],[[],[[0,[56]]]],0,0,0,0,[[],[[0,[56]]]],[[],[[0,[56]]]],[[],[[0,[56]]]],0,0,0,0,0,[[23,199],9],[[23,201,19],9],[[23,199,19],9],[[23,22,59,32,19],[[10,[9,83]]]],0,0,0,[[23,96,19],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[23,1,22,230,235,32],[[10,[19,83]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[23,22,59,74,34],[[10,[9,83]]]],[23,23],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,[[],23],[81,97],[81,97],[81,97],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[23,1,22,32,176,8],[[10,[9,83]]]],[61,9],[61,9],[61,9],[61,9],[61,9],[[236,237],23],[[74,22,237],23],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[236,65],66],[[236,97,65],66],[[74,97,65],66],[[74,65],66],[[23,97,65],66],[[23,65],66],[[23,22,59,32],[[10,[9,83]]]],[[238,90],90],[[238,19],19],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[238,19],19],[[23,96],19],[[],61],[[],61],[[],61],[[],61],[[],61],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[236,73],74],[[23,144],[[10,[236,83]]]],[238,[[9,[[78,[239]],[12,[17]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[236,23],[[10,[29,83]]]],[[236,90,90],90],[[236,39,39],39],[[236,17,17,98,[12,[98]]],17],[[236,19,19],19],0,[[23,1,22,32],[[10,[19,83]]]],[[23,1,22,32],[[10,[19,83]]]],[[144,23],[[10,[236,83]]]],[[],238],[237,23],[[144,90],90],[[144,39],39],[[144,19],19],0,0,0,[[23,22,59,32],[[10,[9,83]]]],[[23,109],9],[74,144],0,0,[-1,-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[-1,[94,[-2]]],[[10,[[94,[-2]]]]],[],222],[[-1,90],[[10,[90]]],[]],[[-1,[26,[229]]],[[10,[[26,[229]]]]],[]],[[-1,230],[[10,[230]]],[]],[[-1,98],[[10,[98]]],[]],[[-1,[26,[25]]],[[10,[[26,[25]]]]],[]],[[240,-1],[[10,[240]]],241],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[23,22,32,29],9],[[23,1,22,32,8],[[10,[9,83]]]],[[23,22,29],9],[[236,96,19],9],[[23,96,19],9],0,[[240,-1],[[242,[9]]],243],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,88,[]],0,[[244,19],19],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[245,96],9],[[246,96],9],0,[247,247],[248,248],[249,249],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],[[-1,-2],-3,56,57,[]],0,0,0,[[],247],[81,97],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[245,19],[[10,[19,83]]]],[61,-1,[]],[61,-1,[]],[[250,19],19],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[61,-1,[]],[[1,22,213,[14,[39]],176,251],[[10,[[12,[19]],83]]]],[[245,19,176],[[10,[19,83]]]],[[1,22,213,176,[14,[39]],251],[[10,[[12,[19]],83]]]],[[1,213,[14,[39]],251],[[10,[[12,[19]],83]]]],[[-1,213,[14,[39]],251],[[10,[[12,[19]]]]],[]],[[252,213,[14,[39]],251],[[10,[[12,[19]]]]]],[[253,213,[14,[39]],251],[[10,[[12,[19]],254]]]],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[61,9],[[249,249],29],[[-1,88],29,[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[-1,-2],29,[],[]],[[245,19,177],[[10,[19,83]]]],[[250,19,177],19],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[[-1,63],[[64,[-2]]],[],[]],[247,[[12,[[9,[96,249,19]]]]]],[[247,-1],9,204],[[247,65],66],[[247,97,65],66],[[249,65],66],[[249,97,65],66],[[247,22,59,19,29],[[10,[19,83]]]],[[244,22,59],[[10,[19,83]]]],[[250,[14,[19]],177],[[78,[19]]]],[[250,19],19],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[[10,[-1]]],-1,[]],[[[10,[-1]]],-1,[]],[-1,-1,[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],[[-1,[14,[67]],5],-2,[],[]],0,[[247,96],19],[[247,201],248],[[247,201],248],0,0,[[245,19],[[10,[9,83]]]],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[],61],[[247,201,249,19],9],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[247,[[0,[56]]]],[[247,-1],9,204],0,[-1,201,[]],0,[[247,-1],244,255],[[247,-1,-2],[[10,[244]]],255,256],[[247,1,22,-1],[[10,[244,83]]],255],0,[[1,22,-1,8],245,255],[[246,19],250],[-1,246,255],0,[246,[[4,[257]]]],[244,96],[247,[[12,[96]]]],0,0,[-1,[],[]],0,0,[[247,201],248],[246,9],[[245,247],[[10,[9,83]]]],[245,29],[[1,36],[[10,[[38,[[94,[258]]]],83]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[246,96],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[[-1,81],-2,[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[[247,-1],[[10,[9,-2]]],204,[]],[[-1,[94,[-2]]],[[10,[[94,[-2]]]]],[],222],[[-1,90],[[10,[90]]],[]],[[-1,[26,[229]]],[[10,[[26,[229]]]]],[]],[[-1,230],[[10,[230]]],[]],[[-1,98],[[10,[98]]],[]],[[245,19],[[10,[19,83]]]],[[-1,[26,[25]]],[[10,[[26,[25]]]]],[]],[[247,-1],[[10,[247]]],241],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],[-1,[[10,[-2]]],[],[]],0,0,[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[-1,82,[]],[[244,22,29],9],[[245,19],[[10,[19,83]]]],[[247,1,22,-1,8],[[10,[9,83]]],255],[[245,19,19],201],[[-1,19],19,[]],[[252,19],19],[[253,19],19],[[245,19],19],[[245,19],19],[[244,19],19],[[247,246,19],9],[[247,-1],[[242,[9]]],243],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]]],"c":[],"p":[[3,"GlobalEnv",3230],[3,"Span",3231],[3,"ESpan",3232],[4,"Option",3233],[3,"ErrorGuaranteed",3234],[3,"QueryCache",3235],[3,"LocalDefId",3236],[3,"CheckerConfig",20],[15,"tuple"],[4,"Result",3237],[3,"Tag",280],[3,"Vec",3238],[3,"Arena",3239],[15,"slice"],[8,"IntoIterator",3240],[3,"Arena",3241],[6,"Expr",3232],[4,"IntTy",3242],[6,"Ty",3243],[4,"UintTy",3242],[3,"Checker",20],[3,"RefineCtxt",2293],[3,"TypeEnv",2758],[4,"Operand",3244],[3,"TyS",3243],[3,"Interned",3245],[3,"CheckerError",225],[8,"Mode",20],[15,"bool"],[4,"AssertKind",3244],[4,"Guard",20],[3,"Place",3244],[3,"SourceInfo",3246],[3,"BasicBlock",3246],[4,"BinOp",3244],[3,"DefId",3236],[6,"PolyFnSig",3243],[3,"EarlyBinder",3243],[4,"GenericArg",3243],[4,"CastKind",3244],[3,"Ty",3247],[3,"Obligations",280],[4,"Constant",3244],[4,"GhostStatement",1490],[4,"Point",1490],[3,"ShapeMode",20],[3,"RefineMode",20],[3,"SwitchTargets",3248],[3,"Snapshot",2293],[3,"FnTraitPredicate",3243],[3,"GeneratorObligPredicate",3243],[4,"Rvalue",3244],[3,"Statement",3244],[3,"Terminator",3244],[4,"UnOp",3248],[8,"Iterator",3249],[8,"FnOnce",3250],[3,"InferCtxt",3251],[3,"ConstrGen",280],[8,"Into",3252],[15,"usize"],[3,"Dominators",3253],[15,"str"],[3,"RequestFilterDataProvider",3254],[3,"Formatter",3255],[6,"Result",3255],[3,"QueryInfo",3256],[3,"GhostStatements",1490],[3,"Body",3244],[3,"FnSig",3243],[15,"u64"],[3,"ShapeResult",20],[3,"KVarStore",747],[3,"BasicBlockEnv",2758],[6,"FxHashMap",3257],[3,"RefineSubtree",2293],[3,"UnordMap",3258],[6,"List",3245],[3,"RefineTree",2293],[3,"IndexVec",3259],[3,"TyCtxt",3260],[3,"TypeId",3261],[4,"CheckerErrKind",225],[4,"QueryErr",3262],[3,"UnsolvedEvar",3263],[3,"Handler",3264],[3,"DiagnosticBuilder",3265],[8,"Any",3261],[3,"InferCtxt",280],[4,"BaseTy",3243],[4,"Constraint",3243],[6,"PolyVariant",3243],[3,"FnOutput",3243],[3,"Binder",3243],[4,"ConstrReason",280],[3,"Path",3232],[3,"PPrintCx",3266],[4,"Sort",3243],[4,"KVarEncoding",747],[8,"KVarGen",280],[4,"InferMode",3267],[4,"HoleKind",3232],[4,"Variance",3268],[8,"Hasher",3269],[4,"TupleTree",3243],[3,"Clause",3243],[6,"GenericArgs",3243],[3,"AliasTy",3243],[3,"EVarSol",3263],[3,"ConditionSpanNote",487],[3,"Diagnostic",3270],[8,"Fn",3250],[3,"CallSpanNote",487],[3,"RefineError",487],[3,"GotoError",487],[8,"EmissionGuarantee",3265],[3,"AssignError",487],[3,"DivError",487],[3,"RemError",487],[3,"AssertError",487],[3,"FoldError",487],[3,"OverflowError",487],[3,"UnknownError",487],[3,"TagIdx",747],[3,"FixpointCtxt",747],[3,"ExprCtxt",747],[8,"Hash",3269],[8,"Eq",3271],[8,"Copy",3272],[15,"u32"],[3,"FixpointTypes",1306],[4,"Constraint",3273],[3,"GlobalVar",1088],[4,"Constant",3273],[6,"QueryResult",3262],[3,"KVarDecl",747],[4,"Ordering",3271],[8,"Decoder",3274],[8,"Encoder",3274],[4,"Key",747],[4,"Expr",3273],[3,"ConstInfo",747],[6,"FxIndexMap",3275],[3,"Scope",2293],[3,"Env",747],[3,"LocalVar",1088],[3,"PolyFuncSort",3243],[3,"PolyFuncSort",1306],[4,"Func",3273],[3,"KVid",3232],[3,"Name",3232],[3,"DebruijnIndex",3268],[4,"Sort",1306],[3,"KVar",3232],[4,"Pred",3273],[3,"FixpointKVar",747],[3,"Qualifier",3243],[3,"Qualifier",3273],[8,"Debug",3255],[3,"String",3276],[4,"Var",3232],[3,"KVid",1088],[4,"Var",1088],[4,"SortCtor",1306],[4,"Proj",1306],[3,"Error",3255],[3,"StatementsAt",1490],[6,"Result",3277],[8,"Write",3278],[3,"FoldUnfoldAnalysis",1614],[3,"Env",1614],[8,"Mode",1614],[4,"PlaceNode",1614],[3,"AdtDef",3247],[6,"GenericArgs",3247],[3,"VariantIdx",3279],[3,"FieldIdx",3279],[4,"ProjResult",1614],[3,"Infer",1614],[3,"Elaboration",1614],[4,"ProjKind",1614],[3,"PlaceIndex",1822],[3,"ValueIndex",1822],[3,"Body",3246],[3,"Map",1822],[3,"PointsToAnalysis",1822],[4,"CallReturnPlaces",3280],[3,"Statement",3281],[3,"Location",3246],[4,"Operand",3248],[8,"SwitchIntEdgeEffects",3282],[3,"Terminator",3280],[4,"TerminatorEdges",3280],[3,"State",1822],[3,"PlaceRef",3281],[4,"PlaceOrValue",1822],[4,"StateData",1822],[3,"IndexSlice",3283],[3,"Local",3246],[3,"BitSet",3284],[4,"Loc",3232],[4,"FlatSet",3285],[3,"PlaceInfo",1822],[8,"FnMut",3250],[3,"Place",3248],[4,"Rvalue",3248],[3,"CollectPointerToBorrows",1822],[3,"Children",1822],[3,"Ty",3286],[3,"VecDeque",3287],[3,"Results",3288],[3,"BasicBlockData",3246],[3,"AdtDef",3243],[3,"Invariant",3243],[3,"Expr",3267],[3,"Invalid",2210],[3,"Item",2233],[3,"WorkQueue",2233],[3,"NodePtr",2293],[3,"WeakNodePtr",2293],[3,"Unpacker",2293],[8,"TypeFoldable",3289],[3,"Node",2293],[3,"IndexGen",3290],[4,"AssumeInvariants",2293],[3,"ParentsIter",2293],[8,"ToString",3276],[4,"NodeKind",2293],[3,"ExprS",3232],[4,"Region",3247],[3,"SigTable",2645],[15,"array"],[3,"Sig",2645],[4,"Output",2645],[4,"Mutability",3242],[3,"BasicBlockEnvShape",2758],[6,"LocalDecls",3244],[3,"Generalizer",2758],[4,"BoundVariableKind",3243],[3,"BasicBlockEnvData",2758],[8,"FallibleTypeFolder",3289],[4,"ControlFlow",3291],[8,"TypeVisitor",3289],[3,"LookupResult",2930],[3,"Unfolder",2930],[3,"Cursor",2930],[3,"PlacesTree",2930],[3,"Binding",2930],[4,"LocKind",2930],[3,"Updater",2930],[3,"Index",3243],[3,"Unfold",2930],[3,"NoUnfold",2930],[15,"never"],[8,"LookupKey",2930],[8,"LookupMode",2930],[4,"PlaceElem",3244],[3,"VariantSig",3243],[8,"ResultExt",225],[6,"Bindings",747],[6,"PredSpans",747],[6,"ConstMap",747],[6,"KVidMap",747],[6,"Pred",1306],[6,"Expr",1306],[6,"Constraint",1306],[6,"Func",1306],[6,"Qualifier",1306],[6,"KVar",1306],[6,"Task",1306],[6,"ConstInfo",1306],[6,"LocationMap",1490],[6,"EdgeMap",1490],[6,"Results",1822],[13,"Yes",2640],[4,"Pre",2645],[6,"E",2741],[6,"E",2751],[6,"CheckerResult",2930]],"b":[[251,"impl-From%3CQueryErr%3E-for-CheckerErrKind"],[253,"impl-From%3CUnsolvedEvar%3E-for-CheckerErrKind"],[373,"impl-Pretty-for-Tag"],[374,"impl-Debug-for-Tag"],[897,"impl-Debug-for-TagIdx"],[898,"impl-Display-for-TagIdx"],[914,"impl-From%3Cusize%3E-for-TagIdx"],[915,"impl-From%3Cu32%3E-for-TagIdx"],[950,"impl-Idx-for-TagIdx"],[951,"impl-TagIdx"],[1204,"impl-Debug-for-KVid"],[1205,"impl-Display-for-KVid"],[1208,"impl-Debug-for-Var"],[1209,"impl-Display-for-Var"],[1213,"impl-From%3Cusize%3E-for-KVid"],[1216,"impl-From%3Cu32%3E-for-KVid"],[1219,"impl-From%3Cusize%3E-for-LocalVar"],[1220,"impl-From%3Cu32%3E-for-LocalVar"],[1221,"impl-From%3Cu32%3E-for-GlobalVar"],[1224,"impl-From%3Cusize%3E-for-GlobalVar"],[1225,"impl-From%3CLocalVar%3E-for-Var"],[1226,"impl-From%3CGlobalVar%3E-for-Var"],[1246,"impl-KVid"],[1247,"impl-Idx-for-KVid"],[1248,"impl-LocalVar"],[1249,"impl-Idx-for-LocalVar"],[1250,"impl-GlobalVar"],[1251,"impl-Idx-for-GlobalVar"],[2030,"impl-From%3Cu32%3E-for-PlaceIndex"],[2031,"impl-From%3Cusize%3E-for-PlaceIndex"],[2032,"impl-From%3Cu32%3E-for-ValueIndex"],[2034,"impl-From%3Cusize%3E-for-ValueIndex"],[2067,"impl-Idx-for-PlaceIndex"],[2068,"impl-PlaceIndex"],[2069,"impl-ValueIndex"],[2070,"impl-Idx-for-ValueIndex"],[2425,"impl-Debug-for-RefineTree"],[2426,"impl-Pretty-for-RefineTree"],[2427,"impl-Debug-for-RefineSubtree%3C\'_%3E"],[2428,"impl-Pretty-for-RefineSubtree%3C\'_%3E"],[2429,"impl-Debug-for-RefineCtxt%3C\'_%3E"],[2430,"impl-Pretty-for-RefineCtxt%3C\'_%3E"],[2431,"impl-Pretty-for-Scope"],[2432,"impl-Debug-for-Scope"],[2819,"impl-Debug-for-BasicBlockEnvShape"],[2820,"impl-Pretty-for-BasicBlockEnvShape"],[2821,"impl-Pretty-for-BasicBlockEnv"],[2822,"impl-Debug-for-BasicBlockEnv"],[2823,"impl-Pretty-for-TypeEnv%3C\'_%3E"],[2824,"impl-Debug-for-TypeEnv%3C\'_%3E"],[3051,"impl-Debug-for-PlacesTree"],[3052,"impl-Pretty-for-PlacesTree"],[3053,"impl-Debug-for-LocKind"],[3054,"impl-Pretty-for-LocKind"]]},\ "flux_syntax":{"doc":"","t":"NNNNGNDDEGDNNNNNNELLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLMALLLLLMMMOLLLLLLLLLMMALLLLLLLLLLLLLLLOMMMMMMMCCCCCCCCCIFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAKDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDRRDERFFFFFMFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNENNNNNNNNNNNNNNNNDENNNNNNNNNDNNNNNNNNNNNNDENNDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDENNNLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLMMMMMMMMMMLLLLMLLLLLLLLLLLLLLLLLLLLLNNNNNENDENNNNEDEENNENNNNNNNNDNNENNNNDNNNDNENEDNDNNNEGDEDNDNNNNNNDNNENDENNNNNENNNDNNNDNNNNDDDNNNEDDNEDNNNNNDNDNDNNDENNNENDDDNLMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMAMMMMMMMMMMMMMILLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFF","n":["Err","ExtraToken","IntTooLarge","InvalidToken","LalrpopError","Ok","ParseCtxt","ParseError","ParseErrorKind","ParseResult","ParseSess","UnexpectedEof","UnexpectedToken","UnexpectedToken","UnrecognizedEof","UnrecognizedToken","User","UserParseError","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","ctx","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","fmt","from","from","from","from","from","grammar","init","init","init","init","init","into","into","into","into","into","into_error","kind","lexer","map_err","map_span","new","next_node_id","next_node_id","next_node_id","offset","parent","parse","parse_expr","parse_flux_item","parse_fn_sig","parse_generics","parse_qual_names","parse_refined_by","parse_type","parse_type_alias","parse_variant","sess","span","surface","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","walk_list","error","expected","expected","location","location","token","token","ExprParser","FnSigParser","GenericsParser","ItemsParser","QualNamesParser","RefinedByParser","TyAliasParser","TyParser","VariantParser","__ToTriple","__action0","__action1","__action10","__action100","__action101","__action102","__action103","__action104","__action105","__action106","__action107","__action108","__action109","__action11","__action110","__action111","__action112","__action113","__action114","__action115","__action116","__action117","__action118","__action119","__action12","__action120","__action121","__action122","__action123","__action124","__action125","__action126","__action127","__action128","__action129","__action13","__action130","__action131","__action132","__action133","__action134","__action135","__action136","__action137","__action138","__action139","__action14","__action140","__action141","__action142","__action143","__action144","__action145","__action146","__action147","__action148","__action149","__action15","__action150","__action151","__action152","__action153","__action154","__action155","__action156","__action157","__action158","__action159","__action16","__action160","__action161","__action162","__action163","__action164","__action165","__action166","__action167","__action168","__action169","__action17","__action170","__action171","__action172","__action173","__action174","__action175","__action176","__action177","__action178","__action179","__action18","__action180","__action181","__action182","__action183","__action184","__action185","__action186","__action187","__action188","__action189","__action19","__action190","__action191","__action192","__action193","__action194","__action195","__action196","__action197","__action198","__action199","__action2","__action20","__action200","__action201","__action202","__action203","__action204","__action205","__action206","__action207","__action208","__action209","__action21","__action210","__action211","__action212","__action213","__action214","__action215","__action216","__action217","__action218","__action219","__action22","__action220","__action221","__action222","__action223","__action224","__action225","__action226","__action227","__action228","__action229","__action23","__action230","__action231","__action232","__action233","__action234","__action235","__action236","__action237","__action238","__action239","__action24","__action240","__action241","__action242","__action243","__action244","__action245","__action246","__action247","__action248","__action249","__action25","__action250","__action251","__action252","__action253","__action254","__action255","__action256","__action257","__action258","__action259","__action26","__action260","__action261","__action262","__action263","__action264","__action265","__action266","__action267","__action268","__action269","__action27","__action270","__action271","__action272","__action273","__action274","__action275","__action276","__action277","__action278","__action279","__action28","__action280","__action281","__action282","__action283","__action284","__action285","__action286","__action287","__action288","__action289","__action29","__action290","__action291","__action292","__action293","__action294","__action295","__action296","__action297","__action298","__action299","__action3","__action30","__action300","__action301","__action302","__action303","__action304","__action305","__action306","__action307","__action308","__action309","__action31","__action310","__action311","__action312","__action313","__action314","__action315","__action316","__action317","__action318","__action319","__action32","__action320","__action321","__action322","__action323","__action324","__action325","__action326","__action327","__action328","__action329","__action33","__action330","__action331","__action332","__action333","__action334","__action335","__action336","__action337","__action338","__action339","__action34","__action340","__action341","__action342","__action343","__action344","__action345","__action346","__action347","__action348","__action349","__action35","__action350","__action351","__action352","__action353","__action354","__action355","__action356","__action357","__action358","__action359","__action36","__action360","__action361","__action362","__action363","__action364","__action365","__action366","__action367","__action368","__action369","__action37","__action370","__action371","__action372","__action373","__action374","__action375","__action376","__action377","__action378","__action379","__action38","__action380","__action381","__action382","__action383","__action384","__action385","__action386","__action387","__action388","__action389","__action39","__action390","__action391","__action392","__action393","__action394","__action395","__action396","__action397","__action398","__action399","__action4","__action40","__action400","__action401","__action402","__action403","__action404","__action405","__action406","__action407","__action408","__action409","__action41","__action410","__action411","__action412","__action413","__action414","__action415","__action416","__action417","__action418","__action419","__action42","__action420","__action421","__action422","__action423","__action424","__action425","__action426","__action427","__action428","__action429","__action43","__action430","__action431","__action432","__action433","__action434","__action435","__action436","__action437","__action438","__action439","__action44","__action440","__action441","__action442","__action443","__action444","__action445","__action446","__action447","__action448","__action449","__action45","__action450","__action451","__action452","__action453","__action454","__action455","__action456","__action457","__action458","__action459","__action46","__action460","__action461","__action462","__action463","__action464","__action465","__action466","__action467","__action468","__action469","__action47","__action470","__action471","__action472","__action473","__action474","__action475","__action476","__action477","__action478","__action479","__action48","__action480","__action481","__action482","__action483","__action484","__action485","__action486","__action487","__action488","__action489","__action49","__action490","__action491","__action492","__action493","__action494","__action495","__action496","__action497","__action498","__action499","__action5","__action50","__action500","__action501","__action502","__action503","__action504","__action505","__action506","__action507","__action508","__action509","__action51","__action510","__action511","__action512","__action513","__action514","__action515","__action516","__action517","__action518","__action519","__action52","__action520","__action521","__action522","__action523","__action524","__action525","__action526","__action527","__action528","__action529","__action53","__action530","__action531","__action532","__action533","__action534","__action535","__action536","__action537","__action538","__action539","__action54","__action540","__action541","__action542","__action543","__action544","__action545","__action546","__action547","__action548","__action549","__action55","__action550","__action551","__action552","__action553","__action554","__action555","__action556","__action557","__action558","__action559","__action56","__action560","__action561","__action562","__action563","__action564","__action565","__action566","__action567","__action568","__action569","__action57","__action570","__action571","__action572","__action573","__action574","__action575","__action576","__action577","__action578","__action579","__action58","__action580","__action581","__action582","__action583","__action584","__action585","__action586","__action587","__action588","__action589","__action59","__action590","__action591","__action592","__action593","__action594","__action595","__action596","__action597","__action598","__action599","__action6","__action60","__action600","__action601","__action602","__action603","__action604","__action605","__action606","__action607","__action608","__action609","__action61","__action610","__action611","__action612","__action613","__action614","__action615","__action616","__action617","__action618","__action619","__action62","__action620","__action621","__action622","__action623","__action624","__action625","__action626","__action627","__action628","__action629","__action63","__action630","__action631","__action632","__action633","__action634","__action635","__action636","__action637","__action638","__action639","__action64","__action640","__action641","__action642","__action643","__action644","__action645","__action646","__action647","__action648","__action649","__action65","__action650","__action651","__action652","__action653","__action654","__action655","__action656","__action657","__action658","__action659","__action66","__action660","__action661","__action662","__action663","__action664","__action665","__action666","__action667","__action67","__action68","__action69","__action7","__action70","__action71","__action72","__action73","__action74","__action75","__action76","__action77","__action78","__action79","__action8","__action80","__action81","__action82","__action83","__action84","__action85","__action86","__action87","__action88","__action89","__action9","__action90","__action91","__action92","__action93","__action94","__action95","__action96","__action97","__action98","__action99","__parse__Expr","__parse__FnSig","__parse__Generics","__parse__Items","__parse__QualNames","__parse__RefinedBy","__parse__Ty","__parse__TyAlias","__parse__Variant","to_triple","ExprParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce385","__reduce386","__reduce387","__reduce388","__reduce389","__reduce39","__reduce390","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","FnSigParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce386","__reduce387","__reduce388","__reduce389","__reduce39","__reduce390","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","GenericsParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce387","__reduce388","__reduce389","__reduce39","__reduce390","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","ItemsParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce386","__reduce388","__reduce389","__reduce39","__reduce390","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","QualNamesParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce386","__reduce387","__reduce389","__reduce39","__reduce390","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","RefinedByParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce386","__reduce387","__reduce388","__reduce39","__reduce390","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","TyParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce386","__reduce387","__reduce388","__reduce389","__reduce39","__reduce391","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","TyAliasParser","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce386","__reduce387","__reduce388","__reduce389","__reduce39","__reduce390","__reduce392","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","Variant0","Variant1","Variant10","Variant11","Variant12","Variant13","Variant14","Variant15","Variant16","Variant17","Variant18","Variant19","Variant2","Variant20","Variant21","Variant22","Variant23","Variant24","Variant25","Variant26","Variant27","Variant28","Variant29","Variant3","Variant30","Variant31","Variant32","Variant33","Variant34","Variant35","Variant36","Variant37","Variant38","Variant39","Variant4","Variant40","Variant41","Variant42","Variant43","Variant44","Variant45","Variant46","Variant47","Variant48","Variant49","Variant5","Variant50","Variant51","Variant52","Variant53","Variant54","Variant55","Variant56","Variant57","Variant58","Variant59","Variant6","Variant60","Variant61","Variant62","Variant63","Variant64","Variant65","Variant66","Variant67","Variant68","Variant69","Variant7","Variant70","Variant71","Variant72","Variant73","Variant74","Variant75","Variant76","Variant77","Variant78","Variant79","Variant8","Variant80","Variant81","Variant82","Variant83","Variant84","Variant9","VariantParser","__ACTION","__EOF_ACTION","__StateMachine","__Symbol","__TERMINAL","__accepts","__action","__expected_tokens","__expected_tokens_from_states","__goto","__phantom","__pop_Variant0","__pop_Variant1","__pop_Variant10","__pop_Variant11","__pop_Variant12","__pop_Variant13","__pop_Variant14","__pop_Variant15","__pop_Variant16","__pop_Variant17","__pop_Variant18","__pop_Variant19","__pop_Variant2","__pop_Variant20","__pop_Variant21","__pop_Variant22","__pop_Variant23","__pop_Variant24","__pop_Variant25","__pop_Variant26","__pop_Variant27","__pop_Variant28","__pop_Variant29","__pop_Variant3","__pop_Variant30","__pop_Variant31","__pop_Variant32","__pop_Variant33","__pop_Variant34","__pop_Variant35","__pop_Variant36","__pop_Variant37","__pop_Variant38","__pop_Variant39","__pop_Variant4","__pop_Variant40","__pop_Variant41","__pop_Variant42","__pop_Variant43","__pop_Variant44","__pop_Variant45","__pop_Variant46","__pop_Variant47","__pop_Variant48","__pop_Variant49","__pop_Variant5","__pop_Variant50","__pop_Variant51","__pop_Variant52","__pop_Variant53","__pop_Variant54","__pop_Variant55","__pop_Variant56","__pop_Variant57","__pop_Variant58","__pop_Variant59","__pop_Variant6","__pop_Variant60","__pop_Variant61","__pop_Variant62","__pop_Variant63","__pop_Variant64","__pop_Variant65","__pop_Variant66","__pop_Variant67","__pop_Variant68","__pop_Variant69","__pop_Variant7","__pop_Variant70","__pop_Variant71","__pop_Variant72","__pop_Variant73","__pop_Variant74","__pop_Variant75","__pop_Variant76","__pop_Variant77","__pop_Variant78","__pop_Variant79","__pop_Variant8","__pop_Variant80","__pop_Variant81","__pop_Variant82","__pop_Variant83","__pop_Variant84","__pop_Variant9","__reduce","__reduce0","__reduce1","__reduce10","__reduce100","__reduce101","__reduce102","__reduce103","__reduce104","__reduce105","__reduce106","__reduce107","__reduce108","__reduce109","__reduce11","__reduce111","__reduce112","__reduce113","__reduce114","__reduce115","__reduce116","__reduce117","__reduce118","__reduce119","__reduce12","__reduce120","__reduce121","__reduce122","__reduce123","__reduce124","__reduce125","__reduce126","__reduce127","__reduce128","__reduce13","__reduce130","__reduce131","__reduce132","__reduce133","__reduce134","__reduce135","__reduce136","__reduce137","__reduce138","__reduce139","__reduce14","__reduce140","__reduce141","__reduce142","__reduce143","__reduce144","__reduce145","__reduce146","__reduce147","__reduce148","__reduce149","__reduce15","__reduce150","__reduce151","__reduce152","__reduce153","__reduce154","__reduce155","__reduce156","__reduce157","__reduce158","__reduce159","__reduce16","__reduce160","__reduce161","__reduce162","__reduce163","__reduce164","__reduce165","__reduce166","__reduce167","__reduce168","__reduce169","__reduce17","__reduce170","__reduce171","__reduce172","__reduce173","__reduce174","__reduce175","__reduce176","__reduce177","__reduce178","__reduce179","__reduce18","__reduce180","__reduce181","__reduce182","__reduce183","__reduce184","__reduce185","__reduce186","__reduce187","__reduce188","__reduce189","__reduce19","__reduce190","__reduce191","__reduce192","__reduce193","__reduce194","__reduce195","__reduce196","__reduce197","__reduce198","__reduce199","__reduce2","__reduce20","__reduce200","__reduce201","__reduce202","__reduce203","__reduce204","__reduce205","__reduce206","__reduce207","__reduce208","__reduce209","__reduce21","__reduce211","__reduce212","__reduce213","__reduce214","__reduce215","__reduce216","__reduce217","__reduce218","__reduce219","__reduce22","__reduce220","__reduce221","__reduce222","__reduce223","__reduce224","__reduce225","__reduce226","__reduce227","__reduce228","__reduce229","__reduce23","__reduce230","__reduce231","__reduce232","__reduce233","__reduce234","__reduce235","__reduce236","__reduce237","__reduce238","__reduce239","__reduce24","__reduce240","__reduce241","__reduce242","__reduce243","__reduce244","__reduce245","__reduce246","__reduce247","__reduce248","__reduce249","__reduce25","__reduce250","__reduce251","__reduce252","__reduce253","__reduce254","__reduce255","__reduce256","__reduce257","__reduce258","__reduce259","__reduce26","__reduce260","__reduce261","__reduce262","__reduce263","__reduce264","__reduce265","__reduce268","__reduce269","__reduce27","__reduce270","__reduce271","__reduce272","__reduce273","__reduce274","__reduce275","__reduce276","__reduce277","__reduce278","__reduce279","__reduce28","__reduce280","__reduce281","__reduce282","__reduce283","__reduce284","__reduce285","__reduce286","__reduce287","__reduce288","__reduce289","__reduce29","__reduce290","__reduce291","__reduce292","__reduce293","__reduce294","__reduce295","__reduce296","__reduce297","__reduce298","__reduce299","__reduce3","__reduce30","__reduce300","__reduce301","__reduce302","__reduce303","__reduce304","__reduce305","__reduce306","__reduce307","__reduce308","__reduce309","__reduce31","__reduce310","__reduce311","__reduce312","__reduce313","__reduce314","__reduce315","__reduce316","__reduce317","__reduce318","__reduce319","__reduce32","__reduce320","__reduce321","__reduce322","__reduce323","__reduce324","__reduce325","__reduce326","__reduce327","__reduce328","__reduce329","__reduce33","__reduce330","__reduce331","__reduce332","__reduce333","__reduce334","__reduce335","__reduce336","__reduce337","__reduce338","__reduce339","__reduce34","__reduce340","__reduce341","__reduce342","__reduce343","__reduce344","__reduce345","__reduce346","__reduce347","__reduce348","__reduce349","__reduce35","__reduce350","__reduce351","__reduce352","__reduce353","__reduce354","__reduce355","__reduce356","__reduce357","__reduce358","__reduce359","__reduce36","__reduce360","__reduce361","__reduce362","__reduce363","__reduce364","__reduce365","__reduce366","__reduce367","__reduce368","__reduce37","__reduce370","__reduce371","__reduce372","__reduce373","__reduce374","__reduce375","__reduce376","__reduce377","__reduce378","__reduce379","__reduce38","__reduce380","__reduce381","__reduce382","__reduce383","__reduce384","__reduce385","__reduce386","__reduce387","__reduce388","__reduce389","__reduce39","__reduce390","__reduce391","__reduce4","__reduce40","__reduce41","__reduce42","__reduce43","__reduce44","__reduce45","__reduce46","__reduce47","__reduce48","__reduce49","__reduce5","__reduce50","__reduce51","__reduce52","__reduce53","__reduce54","__reduce55","__reduce56","__reduce57","__reduce58","__reduce59","__reduce6","__reduce60","__reduce61","__reduce62","__reduce63","__reduce64","__reduce65","__reduce66","__reduce67","__reduce68","__reduce69","__reduce7","__reduce70","__reduce71","__reduce72","__reduce73","__reduce74","__reduce75","__reduce76","__reduce77","__reduce78","__reduce79","__reduce8","__reduce80","__reduce81","__reduce82","__reduce83","__reduce84","__reduce85","__reduce86","__reduce87","__reduce88","__reduce89","__reduce9","__reduce90","__reduce91","__reduce92","__reduce93","__reduce94","__reduce95","__reduce96","__reduce97","__reduce98","__reduce99","__simulate_reduce","__symbol_type_mismatch","__token_to_integer","__token_to_symbol","_priv","action","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","cx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eof_action","error_action","error_recovery_symbol","expected_tokens","expected_tokens_from_states","from","from","from","goto","init","init","init","into","into","into","new","parse","reduce","simulate_reduce","start_location","start_state","token_to_index","token_to_symbol","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uses_error_recovery","And","And","AndAnd","As","Async","At","BinOpToken","BitVec","Bool","Brace","Bracket","Byte","ByteStr","ByteStrRaw","CStr","CStrRaw","Caret","Caret","Char","Check","CloseDelim","Colon","Comma","Cursor","Delimiter","Dot","Else","Ensures","Eq","EqEq","Err","FatArrow","Float","Fn","Frame","Ge","Gt","GtFollowedByGt","Ident","If","Iff","Ignore","Impl","Integer","Invalid","Invisible","Le","Lit","LitKind","Literal","Local","Location","Lt","Minus","Minus","ModSep","Mut","Ne","Not","Opaque","OpenDelim","Or","OrOr","Parenthesis","Percent","Percent","Plus","Plus","Pound","Qualifier","RArrow","Ref","Refine","Requires","Semi","Shl","Shr","Slash","Slash","Sort","Star","Star","Str","StrRaw","Strg","Symbols","Token","Trusted","Type","Where","advance","bitvec","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_into","clone_into","close","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cursor","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","ensures","equivalent","equivalent","equivalent","fmt","fmt","fn_","from","from","from","from","from","from","from","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_iter","kind","local","map_token","multiunzip","new","next","offset","opaque","push_token","qualifier","ref_","refine","requires","sort","stack","strg","suffix","symbol","symbs","to_owned","to_owned","to_owned","to_owned","tokens","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","Abs","Add","And","App","App","Arg","Array","ArrayLen","Async","At","Base","Base","Base","BaseSort","BaseTy","BaseTyKind","BinOp","BinaryOp","Bind","BindKind","BitVec","Bool","Byte","ByteStr","ByteStrRaw","CStr","CStrRaw","Char","ConstSig","Constr","Constr","Constraint","Constraint","Default","Div","Dot","EnumDef","Eq","Err","Exists","Expr","Expr","ExprKind","Float","FnRetTy","FnSig","Func","FuncDef","FuncDef","Ge","GeneralExists","GenericArg","GenericBounds","GenericParam","GenericParamKind","Generics","Gt","Ident","Ident","IfThenElse","Iff","Imp","ImplTrait","Indexed","Indices","Infer","Integer","Item","Le","Lit","LitKind","Literal","Lt","Mod","Mul","Mut","Mutability","Ne","Neg","No","NodeId","Not","Not","Or","Path","Path","Pound","Pred","QPath","QPathExpr","QualNames","Qualifier","Qualifier","Ref","Refine","RefineArg","RefineParam","RefinedBy","Slice","Sort","SortDecl","SortDecl","Spl","Str","StrRaw","StrgRef","StructDef","Sub","TraitRef","Tuple","Ty","Ty","Ty","TyAlias","TyKind","Type","Type","Type","UnOp","UnaryOp","VariantDef","VariantRet","WhereBoundPredicate","Yes","all_params","args","args","args","as_bty","as_usize","asyncness","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bounded_ty","bounds","buf","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_bound_params","ensures","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expr","fields","fields","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","generics","generics","generics","generics","global","hash","ident","index_params","indices","indices","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","invariants","invariants","is_hole","is_refined","kind","kind","kind","kind","kind","len","name","name","name","name","name","name","names","needs_resolving","needs_resolving","node_id","node_id","node_id","node_id","node_id","node_id","node_id","opaque","output","params","path","path","predicates","refine","refined_by","refined_by","refined_by","requires","ret","returns","segments","segments","sort","sort_vars","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","suffix","symbol","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","token_str","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","val","variants","visit","node_id","span","sort","inputs","output","bind","bty","bty","indices","params","pred","pred","ty","Visitor","visit_array_len","visit_async","visit_base_sort","visit_bty","visit_constraint","visit_enum_def","visit_expr","visit_fn_ret_ty","visit_fn_sig","visit_fun_arg","visit_generic_arg","visit_generic_param","visit_generics","visit_ident","visit_indices","visit_literal","visit_path","visit_qpath_expr","visit_refine_arg","visit_refine_param","visit_refined_by","visit_sort","visit_struct_def","visit_trait_ref","visit_ty","visit_variant","visit_variant_ret","visit_where_predicate","walk_base_sort","walk_bty","walk_constraint","walk_enum_def","walk_expr","walk_fn_ret_ty","walk_fn_sig","walk_fun_arg","walk_generic_arg","walk_generic_param","walk_generics","walk_indices","walk_path","walk_qpath_expr","walk_refine_arg","walk_refine_param","walk_refined_by","walk_sort","walk_struct_def","walk_trait_ref","walk_ty","walk_variant","walk_variant_ret","walk_where_predicate"],"q":[[0,"flux_syntax"],[107,"flux_syntax::LalrpopError"],[114,"flux_syntax::grammar"],[802,"flux_syntax::grammar::__parse__Expr"],[1429,"flux_syntax::grammar::__parse__FnSig"],[2056,"flux_syntax::grammar::__parse__Generics"],[2683,"flux_syntax::grammar::__parse__Items"],[3310,"flux_syntax::grammar::__parse__QualNames"],[3937,"flux_syntax::grammar::__parse__RefinedBy"],[4564,"flux_syntax::grammar::__parse__Ty"],[5191,"flux_syntax::grammar::__parse__TyAlias"],[5818,"flux_syntax::grammar::__parse__Variant"],[6445,"flux_syntax::lexer"],[6662,"flux_syntax::surface"],[7512,"flux_syntax::surface::Async"],[7514,"flux_syntax::surface::GenericParamKind"],[7515,"flux_syntax::surface::Sort"],[7517,"flux_syntax::surface::TyKind"],[7525,"flux_syntax::surface::visit"],[7578,"core::iter::traits::iterator"],[7579,"core::ops::function"],[7580,"core::fmt"],[7581,"core::fmt"],[7582,"lalrpop_util"],[7583,"rustc_ast::tokenstream"],[7584,"alloc::vec"],[7585,"core::result"],[7586,"core::any"],[7587,"rustc_span::symbol"],[7588,"core::option"],[7589,"core::marker"],[7590,"alloc::string"],[7591,"lalrpop_util::state_machine"],[7592,"lalrpop_util::state_machine"],[7593,"lalrpop_util::state_machine"],[7594,"rustc_span"],[7595,"core::cmp"],[7596,"core::hash"]],"d":["Contains the error value","Generated by the parser when it encounters additional, …","","Generated by the parser when it encounters a token (or …","","Contains the success value","","","","","","","","","Generated by the parser when it encounters an EOF it did …","Generated by the parser when it encounters a token it did …","Custom error type.","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The set of expected tokens: these names are taken from the …","The set of expected tokens: these names are taken from the …","","The end of the final token","The unexpected token of type T with a span given by the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","{ ... }","[ ... ]","","","","","","","","","","","","","","Describes how a sequence of token trees is delimited. …","","","","","","","","","","","","","","","","","","","","","Ø ... Ø An invisible delimiter, that may, for example, …","","A literal token.","","","","","","","","","","","","","","","","( ... )","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","a sort-constructor application, e.g., Set<int>","","","","","","","","A base sort, e.g., int or bool.","ty","","","","","","@n or #n, the span corresponds to the span of the …","","a bitvector sort, e.g., BitVec(32)","","","","","","","","","example a: i32{a > 0}","Constrained type: an exists without binder","","","","","","","","","B{v: r}","","","","","","","A function sort of the form (bi,...) -> bo where bi.. and …","A global function definition. It can be either an …","","","","","","","","","","","a base sort, e.g. int or bool","","","","The NodeId is used to resolve the type to a corresponding …","B[r]","","","","","","A literal token.","","","","","","","","","","","A NodeId is a unique identifier we assign to some AST …","","","","","","","A predicate that needs to hold","","","","","","Mutable or shared reference","","","","","","","","","","","","example v: &strg i32","","","","","","","A type with an optional binder, e.g, i32, x: i32 or …","","","","A type constraint on a location","","","","","","","","","","","example: i32<@n>","","","","Body of the function. If not present this definition …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","Equivalent to f(&iter.collect::<Vec<_>>()).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example: *x: i32{v. v = n+1} or just x > 10","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Binders are not allowed at this position, but we parse …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Whether the struct contains any path that needs to be …","Whether the enum contains any path that needs to be …","","","","","","","","","","","","","example: where I: Iterator<Item = i32{v:0<=v}>","","","","","example: requires n > 0","","example i32{v:v >= 0}","","","","","","","","","","","source span","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[19,112,6,112,0,19,0,0,0,0,0,6,14,6,112,112,112,0,11,14,10,3,6,11,14,10,3,6,11,14,10,3,6,11,3,11,14,10,3,6,11,14,10,3,6,11,14,10,3,6,6,11,14,10,3,6,0,11,14,10,3,6,11,14,10,3,6,6,10,0,11,11,11,11,3,3,11,11,0,3,3,3,3,3,3,3,3,3,11,10,0,11,14,10,3,6,11,14,10,3,6,11,14,10,3,6,0,113,114,115,116,114,115,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,64,63,64,68,63,64,68,63,64,68,64,63,64,68,63,64,68,63,64,68,64,64,64,64,64,63,64,68,64,63,64,68,63,64,68,68,68,64,64,64,64,64,64,63,64,68,63,64,68,63,64,68,64,0,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,73,72,73,74,72,73,74,72,73,74,73,72,73,74,72,73,74,72,73,74,73,73,73,73,73,72,73,74,73,72,73,74,72,73,74,74,74,73,73,73,73,73,73,72,73,74,72,73,74,72,73,74,73,0,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,76,75,76,77,75,76,77,75,76,77,76,75,76,77,75,76,77,75,76,77,76,76,76,76,76,75,76,77,76,75,76,77,75,76,77,77,77,76,76,76,76,76,76,75,76,77,75,76,77,75,76,77,76,0,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,79,78,79,80,78,79,80,78,79,80,79,78,79,80,78,79,80,78,79,80,79,79,79,79,79,78,79,80,79,78,79,80,78,79,80,80,80,79,79,79,79,79,79,78,79,80,78,79,80,78,79,80,79,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,0,0,0,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,82,81,82,83,81,82,83,81,82,83,82,81,82,83,81,82,83,81,82,83,82,82,82,82,82,81,82,83,82,81,82,83,81,82,83,83,83,82,82,82,82,82,82,81,82,83,81,82,83,81,82,83,82,0,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,85,84,85,86,84,85,86,84,85,86,85,84,85,86,84,85,86,84,85,86,85,85,85,85,85,84,85,86,85,84,85,86,84,85,86,86,86,85,85,85,85,85,85,84,85,86,84,85,86,84,85,86,85,0,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,88,87,88,89,87,88,89,87,88,89,88,87,88,89,87,88,89,87,88,89,88,88,88,88,88,87,88,89,88,87,88,89,87,88,89,89,89,88,88,88,88,88,88,87,88,89,87,88,89,87,88,89,88,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,0,0,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,91,90,91,92,90,91,92,90,91,92,91,90,91,92,90,91,92,90,91,92,91,91,91,91,91,90,91,92,91,90,91,92,90,91,92,92,92,91,91,91,91,91,91,90,91,92,90,91,92,90,91,92,91,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,94,93,94,95,93,94,95,93,94,95,94,93,94,95,93,94,95,93,94,95,94,94,94,94,94,93,94,95,94,93,94,95,93,94,95,95,95,94,94,94,94,94,94,93,94,95,93,94,95,93,94,95,94,13,119,13,13,13,13,0,13,120,121,121,120,120,120,120,120,13,119,120,13,13,13,13,0,0,13,13,13,13,13,120,13,120,13,0,13,13,13,13,13,13,13,13,120,13,121,13,0,0,13,13,0,13,13,119,13,13,13,13,13,13,119,13,121,13,119,13,119,13,13,13,13,13,13,13,119,119,13,119,13,13,119,120,120,13,0,0,13,13,13,96,122,96,122,123,13,12,119,121,96,122,123,13,12,119,121,13,12,13,12,119,121,123,96,122,123,13,12,119,121,123,12,96,122,123,13,12,119,121,96,122,123,13,12,119,121,96,122,123,13,12,119,121,122,121,121,121,13,12,122,96,122,123,13,12,119,121,96,122,123,13,12,119,121,96,122,123,13,12,119,121,96,35,122,96,96,96,96,96,122,96,122,122,122,122,122,96,122,35,35,96,13,12,119,121,96,96,122,123,13,12,119,121,96,122,123,13,12,119,121,96,122,123,13,12,119,121,40,33,33,48,101,0,53,0,0,100,103,37,53,0,0,0,0,101,40,0,48,120,120,120,120,120,120,120,0,44,53,0,41,107,33,101,0,33,120,53,0,40,0,120,0,0,37,0,20,33,53,0,0,0,0,0,33,0,48,101,33,33,53,53,0,37,120,0,33,0,0,101,33,33,33,124,0,33,34,50,0,124,34,33,0,55,100,43,101,0,0,0,20,53,103,0,0,0,55,0,0,20,103,120,120,44,0,33,0,53,0,107,44,0,0,103,43,41,0,101,0,0,0,50,25,46,47,22,26,16,22,47,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,42,42,54,16,48,50,99,100,18,101,57,33,34,16,48,50,99,100,18,101,57,33,124,34,31,120,35,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,124,25,24,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,25,22,16,16,16,16,124,124,124,31,31,31,46,104,28,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,34,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,27,104,22,51,46,16,27,25,45,52,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,104,105,51,26,32,26,56,18,35,54,49,46,47,32,39,31,24,104,105,27,104,105,28,22,26,51,104,47,23,45,108,22,51,27,104,105,22,28,22,51,57,39,47,46,23,27,28,25,106,22,42,26,56,99,52,51,18,57,31,35,35,16,48,50,99,100,18,101,57,33,124,34,31,120,35,31,35,100,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,27,16,49,20,46,47,23,32,103,27,104,105,28,45,25,24,39,37,48,106,22,43,107,50,42,108,44,26,53,56,55,99,52,40,100,51,41,18,101,57,33,124,34,31,120,35,99,105,0,125,125,126,127,127,128,129,128,129,130,128,130,130,0,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[[],3],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[4,5],[4,5],[[6,7],8],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[],4],[[],4],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[6,9],10],0,0,[[11,[15,[12,13,14]]],10],[[11,12,12],9],[[3,9],11],[11,16],[3,16],0,0,0,0,[[3,17,9],[[19,[18]]]],[[3,17,9],[[19,[[21,[20]]]]]],[[3,17,9],[[19,[22]]]],[[3,17,9],[[19,[23]]]],[[3,17,9],[[19,[24]]]],[[3,17,9],[[19,[25]]]],[[3,17,9],[[19,[26]]]],[[3,17,9],[[19,[27]]]],[[3,17,9],[[19,[28]]]],0,0,0,[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[11,[5,[12,23,12]]],23],[[11,[5,[12,27,12]]],27],[[11,[5,[12,31,12]]],32],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[33,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,31,12]],[5,[12,12,12]]],[[29,[32,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],34],[[11,[5,[12,13,12]]],34],[[11,[5,[12,35,12]]],35],[[11,[5,[12,12,12]],[5,[12,36,12]],[5,[12,12,12]]],31],[[11,[5,[12,[21,[18]],12]]],[[21,[18]]]],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,37,12]]],32],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,[38,[[21,[39]]]],12]],[5,[12,[38,[[21,[39]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,[21,[40]],12]]],[[38,[[21,[40]]]]]],[[11,12,12],[[38,[[21,[40]]]]]],[[11,[5,[12,[21,[41]],12]]],[[38,[[21,[41]]]]]],[[11,12,12],[[38,[[21,[41]]]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,[21,[40]],12]]],[[21,[40]]]],[[11,[5,[12,12,12]],[5,[12,[21,[39]],12]],[5,[12,12,12]]],25],[[11,[5,[12,[21,[41]],12]]],[[21,[41]]]],[[11,[5,[12,18,12]]],[[38,[18]]]],[[11,12,12],[[38,[18]]]],[[11,[5,[12,13,12]],[5,[12,18,12]]],18],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,37,12]]],39],[[11,[5,[12,31,12]]],39],[[11,[5,[12,[21,[42]],12]]],[[21,[42]]]],[[11,[5,[12,[21,[43]],12]]],[[21,[43]]]],[[11,[5,[12,[21,[44]],12]]],[[21,[44]]]],[[11,[5,[12,[21,[20]],12]]],[[21,[20]]]],[[11,[5,[12,[21,[26]],12]]],[[21,[26]]]],[[11,[5,[12,45,12]]],[[38,[45]]]],[[11,12,12],[[38,[45]]]],[[11,[5,[12,[21,[26]],12]]],[[38,[[21,[26]]]]]],[[11,12,12],[[38,[[21,[26]]]]]],[[11,[5,[12,13,12]]],[[38,[13]]]],[[11,12,12],[[38,[13]]]],[[11,[5,[12,[21,[42]],12]]],[[38,[[21,[42]]]]]],[[11,12,12],[[38,[[21,[42]]]]]],[[11,[5,[12,13,12]],[5,[12,[21,[42]],12]]],[[21,[42]]]],[[11,[5,[12,46,12]]],20],[[11,[5,[12,[21,[43]],12]]],[[38,[[21,[43]]]]]],[[11,12,12],[[38,[[21,[43]]]]]],[[11,[5,[12,13,12]],[5,[12,[21,[43]],12]]],[[21,[43]]]],[[11,[5,[12,18,12]]],[[38,[18]]]],[[11,12,12],[[38,[18]]]],[[11,[5,[12,13,12]],[5,[12,18,12]]],18],[[11,[5,[12,26,12]]],[[38,[26]]]],[[11,12,12],[[38,[26]]]],[[11,[5,[12,13,12]],[5,[12,26,12]]],26],[[11,[5,[12,[5,[13,23,13]],12]]],[[38,[[5,[13,23,13]]]]]],[[11,[5,[12,47,12]]],20],[[11,12,12],[[38,[[5,[13,23,13]]]]]],[[11,[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]]],[[5,[13,23,13]]]],[[11,[5,[12,[21,[48]],12]]],[[21,[48]]]],[[11,[5,[12,[21,[31]],12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]]],[[38,[[21,[31]]]]]],[[11,12,12],[[38,[[21,[31]]]]]],[[11,[5,[12,13,12]]],[[38,[13]]]],[[11,12,12],[[38,[13]]]],[[11,[5,[12,13,12]]],13],[[11,12,12],[[21,[20]]]],[[11,[5,[12,49,12]]],20],[[11,[5,[12,[21,[20]],12]]],[[21,[20]]]],[[11,[5,[12,20,12]]],20],[[11,[5,[12,[21,[39]],12]]],[[38,[[21,[39]]]]]],[[11,12,12],[[38,[[21,[39]]]]]],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]]],[[38,[[21,[39]]]]]],[[11,12,12],[[38,[[21,[39]]]]]],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,[21,[26]],12]]],[[38,[[21,[26]]]]]],[[11,[5,[12,12,12]],[5,[12,[38,[13]],12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,12,12],[[38,[[21,[26]]]]]],[[11,12,12],12],[[11,[5,[12,[21,[32]],12]]],[[21,[32]]]],[[11,12,12],12],[[11,[5,[12,[21,[32]],12]],[5,[12,[38,[32]],12]]],[[21,[32]]]],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,37,12]]],39],[[11,[5,[12,20,12]]],[[21,[20]]]],[[11,[5,[12,[21,[20]],12]],[5,[12,20,12]]],[[21,[20]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,[38,[31]],12]]],[[21,[31]]]],[[11,[5,[12,25,12]]],25],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[31]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,37,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],47],[[11,[5,[12,[21,[48]],12]],[5,[12,[38,[48]],12]]],[[21,[48]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,[38,[26]],12]]],[[21,[26]]]],[[11,[5,[12,[21,[44]],12]],[5,[12,[38,[44]],12]]],[[21,[44]]]],[[11,[5,[12,[21,[43]],12]],[5,[12,[38,[43]],12]]],[[21,[43]]]],[[11,[5,[12,[21,[42]],12]],[5,[12,[38,[42]],12]]],[[21,[42]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,[21,[41]],12]],[5,[12,[38,[41]],12]]],[[21,[41]]]],[[11,[5,[12,[21,[40]],12]],[5,[12,[38,[40]],12]]],[[21,[40]]]],[[11,12,12],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]]],[[21,[31]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[31]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,37,12]],[5,[12,13,12]]],47],[[11,[5,[12,31,12]],[5,[12,13,12]]],31],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,[21,[18]],12]],[5,[12,[38,[18]],12]]],[[21,[18]]]],[[11,[5,[12,18,12]]],[[38,[18]]]],[[11,12,12],[[38,[18]]]],[[11,12,12],[[21,[18]]]],[[11,[5,[12,[21,[18]],12]]],[[21,[18]]]],[[11,[5,[12,18,12]],[5,[12,13,12]]],18],[[11,[5,[12,[21,[39]],12]],[5,[12,[38,[39]],12]]],[[21,[39]]]],[[11,[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,13,12]],[5,[12,[21,[31]],12]],[5,[12,13,12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,40,12]]],[[38,[40]]]],[[11,12,12],[[38,[40]]]],[[11,12,12],[[21,[40]]]],[[11,[5,[12,[21,[40]],12]]],[[21,[40]]]],[[11,[5,[12,40,12]],[5,[12,13,12]]],40],[[11,[5,[12,41,12]]],[[38,[41]]]],[[11,12,12],[[38,[41]]]],[[11,12,12],[[21,[41]]]],[[11,[5,[12,[21,[41]],12]]],[[21,[41]]]],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]]],49],[[11,[5,[12,41,12]],[5,[12,13,12]]],41],[[11,12,12],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,39,12]],[5,[12,13,12]]],39],[[11,[5,[12,42,12]]],[[38,[42]]]],[[11,12,12],[[38,[42]]]],[[11,12,12],[[21,[42]]]],[[11,[5,[12,[21,[42]],12]]],[[21,[42]]]],[[11,[5,[12,42,12]],[5,[12,13,12]]],42],[[11,[5,[12,43,12]]],[[38,[43]]]],[[11,[5,[12,[21,[31]],12]]],24],[[11,12,12],[[38,[43]]]],[[11,12,12],[[21,[43]]]],[[11,[5,[12,[21,[43]],12]]],[[21,[43]]]],[[11,[5,[12,43,12]],[5,[12,13,12]]],43],[[11,[5,[12,44,12]]],[[38,[44]]]],[[11,12,12],[[38,[44]]]],[[11,12,12],[[21,[44]]]],[[11,[5,[12,[21,[44]],12]]],[[21,[44]]]],[[11,[5,[12,44,12]],[5,[12,13,12]]],44],[[11,[5,[12,26,12]]],[[38,[26]]]],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,35,12]],[5,[12,12,12]],[5,[12,13,12]]],[[29,[48,[15,[12,13,14]]]]]],[[11,12,12],[[38,[26]]]],[[11,12,12],[[21,[26]]]],[[11,[5,[12,[21,[26]],12]]],[[21,[26]]]],[[11,[5,[12,26,12]],[5,[12,13,12]]],26],[[11,[5,[12,48,12]]],[[38,[48]]]],[[11,12,12],[[38,[48]]]],[[11,12,12],[[21,[48]]]],[[11,[5,[12,[21,[48]],12]]],[[21,[48]]]],[[11,[5,[12,48,12]],[5,[12,13,12]]],48],[[11,[5,[12,31,12]]],[[38,[31]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,[21,[48]],12]],[5,[12,12,12]],[5,[12,13,12]]],48],[[11,12,12],[[38,[31]]]],[[11,12,12],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]]],[[21,[31]]]],[[11,[5,[12,31,12]],[5,[12,13,12]]],31],[[11,[5,[12,[21,[39]],12]],[5,[12,[38,[39]],12]]],[[21,[39]]]],[[11,[5,[12,32,12]]],[[38,[32]]]],[[11,12,12],[[38,[32]]]],[[11,12,12],[[21,[32]]]],[[11,[5,[12,[21,[32]],12]]],[[21,[32]]]],[[11,[5,[12,32,12]],[5,[12,13,12]]],32],[[11,[5,[12,31,12]]],48],[[11,[5,[12,32,12]]],[[21,[32]]]],[[11,[5,[12,[21,[32]],12]],[5,[12,32,12]]],[[21,[32]]]],[[11,[5,[12,39,12]]],[[38,[39]]]],[[11,12,12],[[38,[39]]]],[[11,12,12],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,39,12]],[5,[12,13,12]]],39],[[11,[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,48,12]]],[[21,[48]]]],[[11,[5,[12,48,12]]],37],[[11,[5,[12,[21,[48]],12]],[5,[12,48,12]]],[[21,[48]]]],[[11,[5,[12,26,12]]],[[21,[26]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,26,12]]],[[21,[26]]]],[[11,[5,[12,44,12]]],[[21,[44]]]],[[11,[5,[12,[21,[44]],12]],[5,[12,44,12]]],[[21,[44]]]],[[11,[5,[12,43,12]]],[[21,[43]]]],[[11,[5,[12,[21,[43]],12]],[5,[12,43,12]]],[[21,[43]]]],[[11,[5,[12,42,12]]],[[21,[42]]]],[[11,[5,[12,[21,[42]],12]],[5,[12,42,12]]],[[21,[42]]]],[[11,[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,13,12]],[5,[12,[21,[48]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,48,12]]],37],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,41,12]]],[[21,[41]]]],[[11,[5,[12,[21,[41]],12]],[5,[12,41,12]]],[[21,[41]]]],[[11,[5,[12,40,12]]],[[21,[40]]]],[[11,[5,[12,[21,[40]],12]],[5,[12,40,12]]],[[21,[40]]]],[[11,[5,[12,39,12]]],[[38,[39]]]],[[11,12,12],[[38,[39]]]],[[11,[5,[12,18,12]]],[[21,[18]]]],[[11,[5,[12,[21,[18]],12]],[5,[12,18,12]]],[[21,[18]]]],[[11,[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,[21,[20]],12]]],[[21,[20]]]],[[11,[5,[12,48,12]],[5,[12,13,12]],[5,[12,48,12]]],37],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,12,12]]],50],[[11,[5,[12,12,12]],[5,[12,12,12]]],50],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]]],[[38,[[21,[39]]]]]],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,[38,[[21,[39]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,[38,[[21,[39]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,13,12]],[5,[12,26,12]]],[[38,[26]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,[38,[[5,[13,23,13]]]],12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,[38,[[5,[13,23,13]]]],12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]]],[[38,[[5,[13,23,13]]]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,[38,[[5,[13,23,13]]]],12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[26]],12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[43]]]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]]],[[38,[[21,[39]]]]]],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,13,12]],[5,[12,[21,[43]],12]]],[[38,[[21,[43]]]]]],[[11,[5,[12,12,12]],[5,[12,[38,[13]],12]],[5,[12,12,12]]],50],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[18]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]]],[[38,[13]]]],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,[5,[12,12,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,[38,[45]],12]],[5,[12,12,12]]],28],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,18,12]]],[[38,[18]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,51,12]],[5,[12,13,12]],[5,[12,52,12]],[5,[12,13,12]]],45],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,[38,[[21,[42]]]],12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]],[5,[12,[21,[42]],12]]],[[38,[[21,[42]]]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,51,12]],[5,[12,12,12]],[5,[12,12,12]]],45],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]],[5,[12,13,12]]],[[21,[26]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]],[5,[12,13,12]]],[[21,[26]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,[21,[44]],12]]],[[21,[44]]]],[[11,[5,[12,12,12]],[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]],[5,[12,12,12]]],22],[[11,[5,[12,13,12]],[5,[12,18,12]]],[[38,[18]]]],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],53],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]]],53],[[11,[5,[12,44,12]],[5,[12,13,12]]],[[21,[44]]]],[[11,[5,[12,[21,[44]],12]],[5,[12,44,12]],[5,[12,13,12]]],[[21,[44]]]],[[11,[5,[12,[38,[44]],12]]],[[21,[44]]]],[[11,[5,[12,[21,[44]],12]],[5,[12,[38,[44]],12]]],[[21,[44]]]],[[11,[5,[12,48,12]],[5,[12,13,12]]],[[21,[48]]]],[[11,[5,[12,[21,[48]],12]],[5,[12,48,12]],[5,[12,13,12]]],[[21,[48]]]],[[11,[5,[12,[21,[43]],12]]],[[21,[43]]]],[[11,[5,[12,[38,[48]],12]]],[[21,[48]]]],[[11,[5,[12,[21,[48]],12]],[5,[12,[38,[48]],12]]],[[21,[48]]]],[[11,[5,[12,43,12]],[5,[12,13,12]]],[[21,[43]]]],[[11,[5,[12,[21,[43]],12]],[5,[12,43,12]],[5,[12,13,12]]],[[21,[43]]]],[[11,[5,[12,[38,[43]],12]]],[[21,[43]]]],[[11,[5,[12,[21,[43]],12]],[5,[12,[38,[43]],12]]],[[21,[43]]]],[[11,[5,[12,41,12]],[5,[12,13,12]]],[[21,[41]]]],[[11,[5,[12,[21,[41]],12]],[5,[12,41,12]],[5,[12,13,12]]],[[21,[41]]]],[[11,[5,[12,[38,[41]],12]]],[[21,[41]]]],[[11,[5,[12,[21,[41]],12]],[5,[12,[38,[41]],12]]],[[21,[41]]]],[[11,[5,[12,24,12]]],24],[[11,[5,[12,[21,[42]],12]]],[[21,[42]]]],[[11,[5,[12,32,12]],[5,[12,13,12]]],[[21,[32]]]],[[11,[5,[12,[21,[32]],12]],[5,[12,32,12]],[5,[12,13,12]]],[[21,[32]]]],[[11,[5,[12,[38,[32]],12]]],[[21,[32]]]],[[11,[5,[12,[21,[32]],12]],[5,[12,[38,[32]],12]]],[[21,[32]]]],[[11,[5,[12,31,12]],[5,[12,13,12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]],[5,[12,13,12]]],[[21,[31]]]],[[11,[5,[12,[38,[31]],12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,[38,[31]],12]]],[[21,[31]]]],[[11,[5,[12,31,12]],[5,[12,13,12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]],[5,[12,13,12]]],[[21,[31]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,26,12]]],43],[[11,[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,20,12]]],[[21,[20]]]],[[11,[5,[12,[21,[20]],12]],[5,[12,20,12]]],[[21,[20]]]],[[11,12,12],[[21,[20]]]],[[11,[5,[12,[21,[20]],12]]],[[21,[20]]]],[[11,[5,[12,18,12]],[5,[12,13,12]]],[[21,[18]]]],[[11,[5,[12,[21,[18]],12]],[5,[12,18,12]],[5,[12,13,12]]],[[21,[18]]]],[[11,[5,[12,[38,[18]],12]]],[[21,[18]]]],[[11,[5,[12,[21,[18]],12]],[5,[12,[38,[18]],12]]],[[21,[18]]]],[[11,[5,[12,18,12]]],43],[[11,[5,[12,40,12]],[5,[12,13,12]]],[[21,[40]]]],[[11,[5,[12,[21,[40]],12]],[5,[12,40,12]],[5,[12,13,12]]],[[21,[40]]]],[[11,[5,[12,[38,[40]],12]]],[[21,[40]]]],[[11,[5,[12,[21,[40]],12]],[5,[12,[38,[40]],12]]],[[21,[40]]]],[[11,[5,[12,39,12]],[5,[12,13,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]],[5,[12,13,12]]],[[21,[39]]]],[[11,[5,[12,[38,[39]],12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,[38,[39]],12]]],[[21,[39]]]],[[11,[5,[12,39,12]],[5,[12,13,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]],[5,[12,13,12]]],[[21,[39]]]],[[11,[5,[12,12,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,54,12]],[5,[12,12,12]]],42],[[11,[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,[38,[39]],12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,[38,[39]],12]]],[[21,[39]]]],[[11,[5,[12,26,12]],[5,[12,13,12]]],[[21,[26]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,26,12]],[5,[12,13,12]]],[[21,[26]]]],[[11,[5,[12,[38,[26]],12]]],[[21,[26]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,[38,[26]],12]]],[[21,[26]]]],[[11,[5,[12,42,12]],[5,[12,13,12]]],[[21,[42]]]],[[11,[5,[12,[21,[42]],12]],[5,[12,42,12]],[5,[12,13,12]]],[[21,[42]]]],[[11,[5,[12,51,12]]],54],[[11,[5,[12,[38,[42]],12]]],[[21,[42]]]],[[11,[5,[12,[21,[42]],12]],[5,[12,[38,[42]],12]]],[[21,[42]]]],[[11,[5,[12,13,12]],[5,[12,12,12]]],50],[[11,[5,[12,12,12]]],50],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,35,12]],[5,[12,12,12]],[5,[12,13,12]]],[[29,[48,[15,[12,13,14]]]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[48]],12]],[5,[12,12,12]],[5,[12,13,12]]],48],[[11,[5,[12,55,12]]],56],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[33,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],44],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,51,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],44],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,26,12]]],44],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]],[5,[12,12,12]]],22],[[11,[5,[12,26,12]]],44],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,12,12]]],22],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],[[29,[32,[15,[12,13,14]]]]]],[[11,[5,[12,[21,[32]],12]],[5,[12,12,12]]],23],[[11,[5,[12,36,12]],[5,[12,12,12]]],31],[[11,[5,[12,[21,[40]],12]],[5,[12,12,12]]],52],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,12,12]],[5,[12,53,12]],[5,[12,12,12]]],26],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,35,12]],[5,[12,12,12]]],18],[[11,[5,[12,57,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],18],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[18]],12]],[5,[12,13,12]],[5,[12,12,12]]],18],[[11,[5,[12,57,12]],[5,[12,12,12]]],18],[[11,[5,[12,34,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,[21,[31]],12]],[5,[12,[38,[[21,[41]]]],12]],[5,[12,[38,[[21,[40]]]],12]],[5,[12,12,12]]],51],[[11,[5,[12,22,12]]],22],[[11,[5,[12,56,12]]],53],[[11,[5,[12,[21,[31]],12]],[5,[12,12,12]]],57],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,12,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],40],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],40],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],40],[[11,[5,[12,[21,[39]],12]],[5,[12,12,12]]],25],[[11,[5,[12,53,12]]],26],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,56,12]],[5,[12,13,12]],[5,[12,52,12]],[5,[12,13,12]]],53],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,12,12]]],27],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,35,12]],[5,[12,12,12]],[5,[12,13,12]]],[[29,[53,[15,[12,13,14]]]]]],[[11,[5,[12,[38,[[21,[26]]]],12]],[5,[12,[38,[45]],12]],[5,[12,12,12]]],28],[[11,[5,[12,51,12]],[5,[12,12,12]]],45],[[11,[5,[12,26,12]],[5,[12,13,12]],[5,[12,54,12]],[5,[12,12,12]]],42],[[11,[5,[12,13,12]]],50],[[11,12,12],50],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,35,12]],[5,[12,13,12]]],[[29,[48,[15,[12,13,14]]]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[48]],12]],[5,[12,13,12]]],48],[[11,[5,[12,56,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],53],[[11,[5,[12,13,12]],[5,[12,13,12]]],[[29,[33,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]]],18],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],22],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],53],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,18,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,26,12]],[5,[12,[38,[18]],12]],[5,[12,13,12]]],53],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,23,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[43]],12]]],22],[[11,[5,[12,13,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]]],53],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[42]],12]]],22],[[11,[5,[12,50,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[44]],12]],[5,[12,13,12]]],22],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,31,12]]],[[29,[32,[15,[12,13,14]]]]]],[[11,[5,[12,[21,[32]],12]]],23],[[11,[5,[12,36,12]]],31],[[11,[5,[12,[21,[40]],12]]],52],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,13,12]],[5,[12,26,12]]],53],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]]],18],[[11,[5,[12,35,12]]],18],[[11,[5,[12,57,12]],[5,[12,13,12]],[5,[12,31,12]]],18],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[18]],12]],[5,[12,13,12]]],18],[[11,[5,[12,57,12]]],18],[[11,[5,[12,34,12]],[5,[12,18,12]]],18],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],53],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,18,12]],[5,[12,33,12]],[5,[12,18,12]]],18],[[11,[5,[12,[21,[31]],12]],[5,[12,[38,[[21,[41]]]],12]],[5,[12,[38,[[21,[40]]]],12]]],51],[[11,[5,[12,[21,[31]],12]]],57],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],[[29,[46,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,31,12]]],40],[[11,[5,[12,13,12]],[5,[12,31,12]]],40],[[11,[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,18,12]]],40],[[11,[5,[12,[21,[39]],12]]],25],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,12,12]],[5,[12,35,12]],[5,[12,12,12]],[5,[12,13,12]]],[[29,[53,[15,[12,13,14]]]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[38,[[21,[26]]]],12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,35,12]],[5,[12,13,12]]],[[29,[53,[15,[12,13,14]]]]]],[[11,[5,[12,[38,[[21,[26]]]],12]],[5,[12,[38,[45]],12]]],28],[[11,[5,[12,51,12]]],45],[[11,[5,[12,26,12]],[5,[12,13,12]],[5,[12,54,12]]],42],[[11,[5,[12,44,12]]],[[21,[44]]]],[[11,12,12],[[21,[44]]]],[[11,[5,[12,13,12]],[5,[12,54,12]]],53],[[11,[5,[12,[21,[44]],12]],[5,[12,44,12]]],[[21,[44]]]],[[11,[5,[12,[21,[44]],12]]],[[21,[44]]]],[[11,[5,[12,48,12]]],[[21,[48]]]],[[11,12,12],[[21,[48]]]],[[11,[5,[12,[21,[48]],12]],[5,[12,48,12]]],[[21,[48]]]],[[11,[5,[12,[21,[48]],12]]],[[21,[48]]]],[[11,[5,[12,51,12]]],56],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]]],56],[[11,[5,[12,51,12]]],53],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]]],53],[[11,[5,[12,28,12]]],28],[[11,[5,[12,12,12]],[5,[12,55,12]],[5,[12,12,12]]],56],[[11,[5,[12,51,12]],[5,[12,13,12]],[5,[12,52,12]],[5,[12,13,12]]],53],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,52,12]],[5,[12,13,12]]],53],[[11,[5,[12,51,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],53],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],53],[[11,[5,[12,43,12]]],[[21,[43]]]],[[11,12,12],[[21,[43]]]],[[11,[5,[12,[21,[43]],12]],[5,[12,43,12]]],[[21,[43]]]],[[11,[5,[12,[21,[43]],12]]],[[21,[43]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,[38,[45]],12]]],28],[[11,[5,[12,[38,[45]],12]]],28],[[11,[5,[12,51,12]]],55],[[11,[5,[12,41,12]]],[[21,[41]]]],[[11,12,12],[[21,[41]]]],[[11,[5,[12,[21,[41]],12]],[5,[12,41,12]]],[[21,[41]]]],[[11,[5,[12,[21,[41]],12]]],[[21,[41]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,26,12]],[5,[12,13,12]]],55],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,26,12]]],27],[[11,[5,[12,[21,[31]],12]],[5,[12,[21,[41]],12]],[5,[12,[38,[[21,[40]]]],12]]],51],[[11,[5,[12,[21,[31]],12]],[5,[12,[38,[[21,[40]]]],12]]],51],[[11,[5,[12,32,12]]],[[21,[32]]]],[[11,12,12],[[21,[32]]]],[[11,[5,[12,[21,[32]],12]],[5,[12,32,12]]],[[21,[32]]]],[[11,[5,[12,[21,[32]],12]]],[[21,[32]]]],[[11,[5,[12,31,12]]],[[21,[31]]]],[[11,12,12],[[21,[31]]]],[[11,[5,[12,13,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]]],[[21,[26]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,31,12]]],[[21,[31]]]],[[11,[5,[12,[21,[31]],12]]],[[21,[31]]]],[[11,[5,[12,18,12]]],[[21,[18]]]],[[11,12,12],[[21,[18]]]],[[11,[5,[12,[21,[18]],12]],[5,[12,18,12]]],[[21,[18]]]],[[11,[5,[12,[21,[18]],12]]],[[21,[18]]]],[[11,[5,[12,40,12]]],[[21,[40]]]],[[11,12,12],[[21,[40]]]],[[11,[5,[12,[21,[40]],12]],[5,[12,40,12]]],[[21,[40]]]],[[11,[5,[12,[21,[40]],12]]],[[21,[40]]]],[[11,[5,[12,13,12]],[5,[12,[21,[26]],12]],[5,[12,13,12]]],[[21,[26]]]],[[11,[5,[12,[21,[31]],12]],[5,[12,[21,[41]],12]],[5,[12,[21,[40]],12]]],51],[[11,[5,[12,[21,[31]],12]],[5,[12,[21,[41]],12]]],51],[[11,[5,[12,[21,[31]],12]],[5,[12,[21,[40]],12]]],51],[[11,[5,[12,[21,[31]],12]]],51],[[11,[5,[12,39,12]]],[[21,[39]]]],[[11,12,12],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,39,12]]],[[21,[39]]]],[[11,12,12],[[21,[39]]]],[[11,[5,[12,13,12]],[5,[12,[21,[41]],12]],[5,[12,13,12]]],[[21,[41]]]],[[11,[5,[12,[21,[39]],12]],[5,[12,39,12]]],[[21,[39]]]],[[11,[5,[12,[21,[39]],12]]],[[21,[39]]]],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[21,[31]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,37,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],47],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,37,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],47],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,[21,[31]],12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,37,12]],[5,[12,13,12]]],47],[[11,[5,[12,13,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,13,12]],[5,[12,37,12]],[5,[12,13,12]]],47],[[11,[5,[12,26,12]]],[[21,[26]]]],[[11,12,12],[[21,[26]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,26,12]]],[[21,[26]]]],[[11,[5,[12,[21,[26]],12]]],[[21,[26]]]],[[11,[5,[12,13,12]],[5,[12,[21,[41]],12]],[5,[12,13,12]]],[[21,[41]]]],[[11,[5,[12,[21,[26]],12]],[5,[12,45,12]]],28],[[11,[5,[12,[21,[26]],12]]],28],[[11,[5,[12,45,12]]],28],[[11,12,12],28],[[11,[5,[12,42,12]]],[[21,[42]]]],[[11,12,12],[[21,[42]]]],[[11,[5,[12,[21,[42]],12]],[5,[12,42,12]]],[[21,[42]]]],[[11,[5,[12,[21,[42]],12]]],[[21,[42]]]],[[11,[5,[12,31,12]],[5,[12,13,12]],[5,[12,26,12]]],41],[[11,[5,[12,26,12]]],41],[[11,[5,[12,13,12]],[5,[12,[21,[40]],12]],[5,[12,13,12]]],[[21,[40]]]],[[11,[5,[12,26,12]]],26],[[11,[5,[12,12,12]],[5,[12,[21,[31]],12]],[5,[12,[38,[[21,[41]]]],12]],[5,[12,[38,[[21,[40]]]],12]],[5,[12,12,12]]],51],[[11,[5,[12,12,12]],[5,[12,[21,[40]],12]],[5,[12,12,12]]],52],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],40],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],40],[[11,[5,[12,18,12]]],40],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,[21,[39]],12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],40],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,34,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,18,12]]],18],[[11,[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,12,12]],[5,[12,35,12]],[5,[12,12,12]]],18],[[11,[5,[12,12,12]],[5,[12,57,12]],[5,[12,13,12]],[5,[12,31,12]],[5,[12,12,12]]],18],[[11,[5,[12,12,12]],[5,[12,[21,[32]],12]],[5,[12,12,12]]],23],[[11,[5,[12,12,12]],[5,[12,31,12]],[5,[12,13,12]],[5,[12,[21,[18]],12]],[5,[12,13,12]],[5,[12,12,12]]],18],[[11,[5,[12,12,12]],[5,[12,57,12]],[5,[12,12,12]]],18],[[11,[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],18],[[11,[5,[12,13,12]],[5,[12,12,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,12,12]]],18],[[11,[5,[12,13,12]],[5,[12,13,12]],[5,[12,18,12]],[5,[12,13,12]]],18],[[11,[5,[12,12,12]],[5,[12,[21,[31]],12]],[5,[12,12,12]]],57],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],[[11,[5,[12,13,12]]],33],0,0,0,0,0,0,0,0,0,[-1,[[29,[[5,[12,13,12]],[15,[12,13,14]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,63,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,63,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,63,12]]]],[60,[5]]],[[38,[[29,[18,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,63,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[64]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],63],0,[[64,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[64,58],58],[[64,58],58],[[64,[67,[64]]]],[[64,58],[[21,[62]]]],[[64,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[64,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],68],[[68,11,-1],[[29,[18,[15,[12,13,14]]]]],69],[[64,58,38,[21,[58]],[21,[[70,[64]]]]],[[38,[[71,[64]]]]]],[[64,58],[[65,[64]]]],[64],[64],[64,[[38,[4]]]],[[64,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[64,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,72,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,72,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,72,12]]]],[60,[5]]],[[38,[[29,[22,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,72,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[73]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],72],0,[[73,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[73,58],58],[[73,58],58],[[73,[67,[73]]]],[[73,58],[[21,[62]]]],[[73,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[73,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],74],[[74,11,-1],[[29,[22,[15,[12,13,14]]]]],69],[[73,58,38,[21,[58]],[21,[[70,[73]]]]],[[38,[[71,[73]]]]]],[[73,58],[[65,[73]]]],[73],[73],[73,[[38,[4]]]],[[73,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[73,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,75,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,75,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,75,12]]]],[60,[5]]],[[38,[[29,[23,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,75,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[76]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],75],0,[[76,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[76,58],58],[[76,58],58],[[76,[67,[76]]]],[[76,58],[[21,[62]]]],[[76,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[76,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],77],[[77,11,-1],[[29,[23,[15,[12,13,14]]]]],69],[[76,58,38,[21,[58]],[21,[[70,[76]]]]],[[38,[[71,[76]]]]]],[[76,58],[[65,[76]]]],[76],[76],[76,[[38,[4]]]],[[76,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[76,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,78,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,78,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,78,12]]]],[60,[5]]],[[38,[[29,[[21,[20]],[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,78,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[79]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],78],0,[[79,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[79,58],58],[[79,58],58],[[79,[67,[79]]]],[[79,58],[[21,[62]]]],[[79,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[79,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],80],[[80,11,-1],[[29,[[21,[20]],[15,[12,13,14]]]]],69],[[79,58,38,[21,[58]],[21,[[70,[79]]]]],[[38,[[71,[79]]]]]],[[79,58],[[65,[79]]]],[79],[79],[79,[[38,[4]]]],[[79,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[79,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,81,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,81,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,81,12]]]],[60,[5]]],[[38,[[29,[24,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,81,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[82]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],81],0,[[82,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[82,58],58],[[82,58],58],[[82,[67,[82]]]],[[82,58],[[21,[62]]]],[[82,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[82,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],83],[[83,11,-1],[[29,[24,[15,[12,13,14]]]]],69],[[82,58,38,[21,[58]],[21,[[70,[82]]]]],[[38,[[71,[82]]]]]],[[82,58],[[65,[82]]]],[82],[82],[82,[[38,[4]]]],[[82,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[82,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,84,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,84,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,84,12]]]],[60,[5]]],[[38,[[29,[25,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,84,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[85]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],84],0,[[85,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[85,58],58],[[85,58],58],[[85,[67,[85]]]],[[85,58],[[21,[62]]]],[[85,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[85,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],86],[[86,11,-1],[[29,[25,[15,[12,13,14]]]]],69],[[85,58,38,[21,[58]],[21,[[70,[85]]]]],[[38,[[71,[85]]]]]],[[85,58],[[65,[85]]]],[85],[85],[85,[[38,[4]]]],[[85,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[85,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,87,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,87,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,87,12]]]],[60,[5]]],[[38,[[29,[26,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,87,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[88]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],87],0,[[88,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[88,58],58],[[88,58],58],[[88,[67,[88]]]],[[88,58],[[21,[62]]]],[[88,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[88,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],89],[[89,11,-1],[[29,[26,[15,[12,13,14]]]]],69],[[88,58,38,[21,[58]],[21,[[70,[88]]]]],[[38,[[71,[88]]]]]],[[88,58],[[65,[88]]]],[88],[88],[88,[[38,[4]]]],[[88,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[88,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,90,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,90,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,90,12]]]],[60,[5]]],[[38,[[29,[27,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,90,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[91]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],90],0,[[91,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[91,58],58],[[91,58],58],[[91,[67,[91]]]],[[91,58],[[21,[62]]]],[[91,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[91,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],92],[[92,11,-1],[[29,[27,[15,[12,13,14]]]]],69],[[91,58,38,[21,[58]],[21,[[70,[91]]]]],[[38,[[71,[91]]]]]],[[91,58],[[65,[91]]]],[91],[91],[91,[[38,[4]]]],[[91,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[91,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[38,[58]],[59,[58]],[38,[4]],[60,[5]]],61],[[58,4],58],[58,[[21,[62]]]],[[[59,[58]],[60,[5]]],[[21,[62]]]],[[58,4],58],0,[[[21,[[5,[12,93,12]]]]],[[5,[12,13,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,36,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[43]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,18,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[18]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[42]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,44,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,48,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,43,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[43]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,41,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,32,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,31,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,20,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[13]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,40,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,39,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,42,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[42]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,12,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[44]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[39]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[44]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,50,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[48]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,56,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,55,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,33,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[48]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[41]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[32]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[39]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[18]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[40]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[26]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[43]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[26]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,22,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,47,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[41]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[41]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,54,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,26,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[32]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,23,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[31]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,52,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[20]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,35,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,51,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,57,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,24,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,46,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[26]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[40]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[40]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[39]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,25,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,37,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,49,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[21,[31]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[21,[31]]]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,27,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,53,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[5,[13,23,13]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,34,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,28,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,45,12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[45]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[42]],12]]]],[[[21,[[5,[12,93,12]]]]],[[5,[12,[38,[[5,[13,23,13]]]],12]]]],[[11,58,[38,[12]],[21,[58]],[21,[[5,[12,93,12]]]],[60,[5]]],[[38,[[29,[28,[15,[12,13,14]]]]]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[11,[38,[12]],[21,[[5,[12,93,12]]]],[60,[5]]],[[5,[4,4]]]],[[58,[60,[5]]],[[65,[94]]]],[[],66],[[13,[60,[5]]],[[38,[4]]]],[[4,13,[60,[5]]],93],0,[[94,58,4],58],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[[94,58],58],[[94,58],58],[[94,[67,[94]]]],[[94,58],[[21,[62]]]],[[94,[59,[58]]],[[21,[62]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[94,58,4],58],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],95],[[95,11,-1],[[29,[28,[15,[12,13,14]]]]],69],[[94,58,38,[21,[58]],[21,[[70,[94]]]]],[[38,[[71,[94]]]]]],[[94,58],[[65,[94]]]],[94],[94],[94,[[38,[4]]]],[[94,4]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[94,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[96,[[38,[5]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[13,13],[12,12],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],0,[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],0,[[],12],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],0,[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[13,7],8],[[12,7],8],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[96,97],5],[-1,[[5,[-2,-3,-4]]],[],[],[],[]],[[17,98],96],[96,38],0,0,[[96,98,13,98],5],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[25,[[0,[1]]]],0,0,0,[26,[[38,[56]]]],[16,4],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[16,16],[48,48],[50,50],[99,99],[100,100],[18,18],[101,101],[57,57],[33,33],[34,34],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],5,[],[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],-3,1,2,[]],[[-1,-2],102,[],[]],[[],25],[[],24],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,-1,[]],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],0,0,[[16,16],61],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],[[-1,-2],61,[],[]],0,0,0,[[16,7],8],[[49,7],8],[[20,7],8],[[46,7],8],[[47,7],8],[[23,7],8],[[32,7],8],[[103,7],8],[[27,7],8],[[104,7],8],[[105,7],8],[[28,7],8],[[45,7],8],[[25,7],8],[[24,7],8],[[39,7],8],[[37,7],8],[[48,7],8],[[106,7],8],[[22,7],8],[[43,7],8],[[107,7],8],[[50,7],8],[[42,7],8],[[108,7],8],[[44,7],8],[[26,7],8],[[53,7],8],[[56,7],8],[[55,7],8],[[99,7],8],[[52,7],8],[[40,7],8],[[100,7],8],[[51,7],8],[[41,7],8],[[18,7],8],[[101,7],8],[[57,7],8],[[33,7],8],[[34,7],8],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,0,0,0,[[16,-1],5,109],0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[51,61],[26,61],0,0,0,0,0,0,0,0,0,0,0,0,0,[104,61],[105,61],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,62,[]],[-1,62,[]],[100,110],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],[-1,[[29,[-2]]],[],[]],0,[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],[-1,30,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,99],5,[]],[[-1,50],5,[]],[[-1,48],5,[]],[[-1,56],5,[]],[[-1,43],5,[]],[[-1,105],5,[]],[[-1,18],5,[]],[[-1,107],5,[]],[[-1,22],5,[]],[[-1,44],5,[]],[[-1,41],5,[]],[[-1,32],5,[]],[[-1,23],5,[]],[[-1,31],5,[]],[[-1,52],5,[]],[[-1,35],5,[]],[[-1,51],5,[]],[[-1,57],5,[]],[[-1,40],5,[]],[[-1,39],5,[]],[[-1,25],5,[]],[[-1,37],5,[]],[[-1,104],5,[]],[[-1,108],5,[]],[[-1,26],5,[]],[[-1,28],5,[]],[[-1,45],5,[]],[[-1,42],5,[]],[[-1,48],5,111],[[-1,56],5,111],[[-1,43],5,111],[[-1,105],5,111],[[-1,18],5,111],[[-1,107],5,111],[[-1,22],5,111],[[-1,44],5,111],[[-1,41],5,111],[[-1,32],5,111],[[-1,23],5,111],[[-1,52],5,111],[[-1,51],5,111],[[-1,57],5,111],[[-1,40],5,111],[[-1,39],5,111],[[-1,25],5,111],[[-1,37],5,111],[[-1,104],5,111],[[-1,108],5,111],[[-1,26],5,111],[[-1,28],5,111],[[-1,45],5,111],[[-1,42],5,111]],"c":[],"p":[[8,"Iterator",7578],[8,"FnOnce",7579],[3,"ParseSess",0],[15,"usize"],[15,"tuple"],[4,"ParseErrorKind",0],[3,"Formatter",7580],[6,"Result",7580],[3,"Span",7581],[3,"ParseError",0],[3,"ParseCtxt",0],[3,"Location",6445],[4,"Token",6445],[4,"UserParseError",0],[4,"ParseError",7582],[3,"NodeId",6662],[3,"TokenStream",7583],[3,"Expr",6662],[6,"ParseResult",0],[4,"Item",6662],[3,"Vec",7584],[3,"FnSig",6662],[3,"Generics",6662],[3,"QualNames",6662],[3,"RefinedBy",6662],[3,"Ty",6662],[3,"TyAlias",6662],[3,"VariantDef",6662],[4,"Result",7585],[3,"TypeId",7586],[3,"Ident",6662],[3,"GenericParam",6662],[4,"BinOp",6662],[4,"UnOp",6662],[3,"Lit",6662],[3,"Symbol",7587],[4,"Sort",6662],[4,"Option",7588],[3,"RefineParam",6662],[4,"RefineArg",6662],[4,"GenericArg",6662],[3,"WhereBoundPredicate",6662],[4,"Constraint",6662],[4,"Arg",6662],[3,"VariantRet",6662],[3,"Qualifier",6662],[3,"FuncDef",6662],[4,"BaseSort",6662],[3,"SortDecl",6662],[4,"Async",6662],[3,"Path",6662],[3,"Indices",6662],[4,"TyKind",6662],[6,"GenericBounds",6662],[4,"BaseTyKind",6662],[3,"BaseTy",6662],[3,"QPathExpr",6662],[15,"i16"],[15,"slice"],[3,"PhantomData",7589],[15,"bool"],[3,"String",7590],[4,"__Symbol",802],[3,"__StateMachine",802],[4,"SimulatedReduce",7591],[15,"never"],[6,"ErrorRecovery",7591],[3,"ExprParser",802],[8,"IntoIterator",7592],[6,"SymbolTriple",7591],[6,"ParseResult",7591],[4,"__Symbol",1429],[3,"__StateMachine",1429],[3,"FnSigParser",1429],[4,"__Symbol",2056],[3,"__StateMachine",2056],[3,"GenericsParser",2056],[4,"__Symbol",2683],[3,"__StateMachine",2683],[3,"ItemsParser",2683],[4,"__Symbol",3310],[3,"__StateMachine",3310],[3,"QualNamesParser",3310],[4,"__Symbol",3937],[3,"__StateMachine",3937],[3,"RefinedByParser",3937],[4,"__Symbol",4564],[3,"__StateMachine",4564],[3,"TyParser",4564],[4,"__Symbol",5191],[3,"__StateMachine",5191],[3,"TyAliasParser",5191],[4,"__Symbol",5818],[3,"__StateMachine",5818],[3,"VariantParser",5818],[3,"Cursor",6445],[3,"Token",7593],[3,"BytePos",7594],[3,"ArrayLen",6662],[4,"BindKind",6662],[4,"ExprKind",6662],[4,"Ordering",7595],[4,"GenericParamKind",6662],[3,"StructDef",6662],[3,"EnumDef",6662],[3,"ConstSig",6662],[4,"FnRetTy",6662],[3,"TraitRef",6662],[8,"Hasher",7596],[15,"str"],[8,"Visitor",7525],[6,"LalrpopError",0],[13,"User",107],[13,"UnrecognizedEof",107],[13,"UnrecognizedToken",107],[13,"InvalidToken",107],[13,"ExtraToken",107],[8,"__ToTriple",114],[4,"BinOpToken",6445],[4,"LitKind",6662],[4,"Delimiter",6445],[3,"Symbols",6445],[3,"Frame",6445],[4,"Mutability",6662],[13,"Yes",7512],[13,"Refine",7514],[13,"Func",7515],[13,"Exists",7517],[13,"Indexed",7517],[13,"GeneralExists",7517]],"b":[]},\ "flux_tests":{"doc":"","t":"RFFF","n":["FLUX_SYSROOT","find_file_in_target_dir","find_flux_path","rustc_flags"],"q":[[0,"flux_tests"],[4,"std::path"],[5,"alloc::string"],[6,"alloc::vec"]],"d":["","","","Rustc flags to pass Flux when running tests"],"i":[0,0,0,0],"f":[0,[1,2],[[],2],[[],[[4,[3]]]]],"c":[],"p":[[15,"str"],[3,"PathBuf",4],[3,"String",5],[3,"Vec",6]],"b":[]},\ "rustc_flux":{"doc":"","t":"FF","n":["main","run"],"q":[[0,"rustc_flux"],[2,"anyhow"]],"d":["",""],"i":[0,0],"f":[[[],1],[[],[[3,[2]]]]],"c":[],"p":[[15,"tuple"],[15,"i32"],[6,"Result",2]],"b":[]},\ diff --git a/doc/src/flux_fixpoint/constraint.rs.html b/doc/src/flux_fixpoint/constraint.rs.html index a62b0f3ee4..0e648136f5 100644 --- a/doc/src/flux_fixpoint/constraint.rs.html +++ b/doc/src/flux_fixpoint/constraint.rs.html @@ -630,127 +630,25 @@ 630 631 632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -727 -728 -729 -730 -731 -732 -733 -734

      use std::{
           fmt::{self, Write},
      -    hash::{Hash, Hasher},
           sync::LazyLock,
       };
       
      +use derive_where::derive_where;
       use flux_common::format::PadAdapter;
       use itertools::Itertools;
      -use rustc_index::newtype_index;
       use rustc_macros::{Decodable, Encodable};
       use rustc_span::Symbol;
       
      -use crate::big_int::BigInt;
      +use crate::{big_int::BigInt, StringTypes, Types};
       
      -pub enum Constraint<Tag> {
      -    Pred(Pred, Option<Tag>),
      +#[derive_where(Hash)]
      +pub enum Constraint<T: Types> {
      +    Pred(Pred<T>, #[derive_where(skip)] Option<T::Tag>),
           Conj(Vec<Self>),
      -    Guard(Pred, Box<Self>),
      -    ForAll(Name, Sort, Pred, Box<Self>),
      +    Guard(Pred<T>, Box<Self>),
      +    ForAll(T::Var, Sort, Pred<T>, Box<Self>),
       }
       
       #[derive(Clone, Hash)]
      @@ -783,53 +681,50 @@
           fsort: FuncSort,
       }
       
      -#[derive(Hash, Debug)]
      -pub enum Pred {
      +#[derive_where(Hash)]
      +pub enum Pred<T: Types> {
           And(Vec<Self>),
      -    KVar(KVid, Vec<Name>),
      -    Expr(Expr),
      +    KVar(T::KVar, Vec<T::Var>),
      +    Expr(Expr<T>),
       }
       
      -#[derive(Hash, Debug)]
      -pub enum Expr {
      -    Var(Name),
      -    ConstVar(ConstName),
      +#[derive_where(Hash)]
      +pub enum Expr<T: Types> {
      +    Var(T::Var),
           Constant(Constant),
      -    BinaryOp(BinOp, Box<[Expr; 2]>),
      -    App(Func, Vec<Expr>),
      +    BinaryOp(BinOp, Box<[Self; 2]>),
      +    App(Func<T>, Vec<Self>),
           UnaryOp(UnOp, Box<Self>),
      -    Pair(Box<[Expr; 2]>),
      -    Proj(Box<Expr>, Proj),
      -    IfThenElse(Box<[Expr; 3]>),
      +    Pair(Box<[Self; 2]>),
      +    Proj(Box<Self>, Proj),
      +    IfThenElse(Box<[Self; 3]>),
           Unit,
       }
       
      -#[derive(Hash, Debug, Clone)]
      -pub enum Func {
      -    Var(Name),
      -    /// uninterepreted function
      -    Uif(ConstName),
      +#[derive_where(Hash)]
      +pub enum Func<T: Types> {
      +    Var(T::Var),
           /// interpreted (theory) function
           Itf(Symbol),
       }
       
      -#[derive(Clone, Copy, Hash, Debug)]
      +#[derive(Clone, Copy, Hash)]
       pub enum Proj {
           Fst,
           Snd,
       }
       
      -#[derive(Hash)]
      -pub struct Qualifier {
      +#[derive_where(Hash)]
      +pub struct Qualifier<T: Types> {
           pub name: String,
      -    pub args: Vec<(Name, Sort)>,
      -    pub body: Expr,
      +    pub args: Vec<(T::Var, Sort)>,
      +    pub body: Expr<T>,
           pub global: bool,
       }
       
      -#[derive(Clone, Copy, Debug)]
      -pub struct Const {
      -    pub name: ConstName,
      +#[derive(Clone, Copy)]
      +pub struct Const<T: Types> {
      +    pub name: T::Var,
           pub val: i128,
       }
       
      @@ -858,33 +753,14 @@
           Neg,
       }
       
      -#[derive(Clone, Debug, Copy, PartialEq, Eq, Hash, Encodable, Decodable)]
      +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Encodable, Decodable)]
       pub enum Constant {
           Int(BigInt),
           Real(i128),
           Bool(bool),
       }
       
      -newtype_index! {
      -    #[debug_format = "$k{}"]
      -    pub struct KVid {}
      -}
      -
      -newtype_index! {
      -    #[debug_format = "a{}"]
      -    pub struct Name {
      -        const NAME0 = 0;
      -        const NAME1 = 1;
      -        const NAME2 = 2;
      -    }
      -}
      -
      -newtype_index! {
      -    #[debug_format = "c{}"]
      -    pub struct ConstName {}
      -}
      -
      -impl<Tag> Constraint<Tag> {
      +impl<T: Types> Constraint<T> {
           pub const TRUE: Self = Self::Pred(Pred::TRUE, None);
       
           /// Returns true if the constraint has at least one concrete RHS ("head") predicates.
      @@ -898,28 +774,7 @@
           }
       }
       
      -impl<Tag> Hash for Constraint<Tag> {
      -    fn hash<H: Hasher>(&self, state: &mut H) {
      -        let tag = std::mem::discriminant(self);
      -        tag.hash(state);
      -        match self {
      -            Constraint::Pred(p, _) => p.hash(state),
      -            Constraint::Conj(cs) => cs.hash(state),
      -            Constraint::Guard(p, c) => {
      -                p.hash(state);
      -                c.hash(state);
      -            }
      -            Constraint::ForAll(x, t, p, c) => {
      -                x.hash(state);
      -                t.hash(state);
      -                p.hash(state);
      -                c.hash(state);
      -            }
      -        }
      -    }
      -}
      -
      -impl Pred {
      +impl<T: Types> Pred<T> {
           pub const TRUE: Self = Pred::Expr(Expr::Constant(Constant::Bool(true)));
       
           pub fn is_trivially_true(&self) -> bool {
      @@ -951,10 +806,7 @@
           }
       }
       
      -impl<Tag> fmt::Display for Constraint<Tag>
      -where
      -    Tag: fmt::Display,
      -{
      +impl<T: Types> fmt::Display for Constraint<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               match self {
                   Constraint::Pred(pred, tag) => write!(f, "{}", PredTag(pred, tag)),
      @@ -975,7 +827,7 @@
                       write!(f, "\n)")
                   }
                   Constraint::ForAll(x, sort, body, head) => {
      -                write!(f, "(forall (({x:?} {sort}) {body})")?;
      +                write!(f, "(forall (({x} {sort}) {body})")?;
                       write!(PadAdapter::wrap_fmt(f, 2), "\n{head}")?;
                       write!(f, "\n)")
                   }
      @@ -983,12 +835,9 @@
           }
       }
       
      -struct PredTag<'a, Tag>(&'a Pred, &'a Option<Tag>);
      +struct PredTag<'a, T: Types>(&'a Pred<T>, &'a Option<T::Tag>);
       
      -impl<Tag> fmt::Display for PredTag<'_, Tag>
      -where
      -    Tag: fmt::Display,
      -{
      +impl<T: Types> fmt::Display for PredTag<'_, T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               let PredTag(pred, tag) = self;
               match pred {
      @@ -1035,35 +884,24 @@
                   Sort::BitVec(size) => write!(f, "(BitVec Size{})", size),
                   Sort::Pair(s1, s2) => write!(f, "(Pair {s1} {s2})"),
                   Sort::Func(sort) => write!(f, "{sort}"),
      -            Sort::App(ctor, ts) => write!(f, "({ctor} {:?})", ts.iter().format(" ")),
      +            Sort::App(ctor, ts) => write!(f, "({ctor} {})", ts.iter().format(" ")),
               }
           }
       }
       
       impl fmt::Display for PolyFuncSort {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
      -        write!(
      -            f,
      -            "(func({}, [{:?}]))",
      -            self.params,
      -            self.fsort.inputs_and_output.iter().format("; ")
      -        )
      +        write!(f, "(func({}, [{}]))", self.params, self.fsort.inputs_and_output.iter().format("; "))
           }
       }
       
       impl fmt::Display for FuncSort {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
      -        write!(f, "(func(0, [{:?}]))", self.inputs_and_output.iter().format("; "))
      -    }
      -}
      -
      -impl fmt::Debug for Sort {
      -    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
      -        fmt::Display::fmt(self, f)
      +        write!(f, "(func(0, [{}]))", self.inputs_and_output.iter().format("; "))
           }
       }
       
      -impl fmt::Display for Pred {
      +impl<T: Types> fmt::Display for Pred<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               match self {
                   Pred::And(preds) => {
      @@ -1074,24 +912,24 @@
                       }
                   }
                   Pred::KVar(kvid, vars) => {
      -                write!(f, "({kvid:?} {:?})", vars.iter().format(" "))
      +                write!(f, "(${kvid} {})", vars.iter().format(" "))
                   }
                   Pred::Expr(expr) => write!(f, "({expr})"),
               }
           }
       }
       
      -impl Expr {
      -    pub const ZERO: Expr = Expr::Constant(Constant::ZERO);
      -    pub const ONE: Expr = Expr::Constant(Constant::ONE);
      -    pub fn eq(self, other: Expr) -> Expr {
      +impl<T: Types> Expr<T> {
      +    pub const ZERO: Expr<T> = Expr::Constant(Constant::ZERO);
      +    pub const ONE: Expr<T> = Expr::Constant(Constant::ONE);
      +    pub fn eq(self, other: Self) -> Self {
               Expr::BinaryOp(BinOp::Eq, Box::new([self, other]))
           }
       }
       
      -struct FmtParens<'a>(&'a Expr);
      +struct FmtParens<'a, T: Types>(&'a Expr<T>);
       
      -impl fmt::Display for FmtParens<'_> {
      +impl<T: Types> fmt::Display for FmtParens<'_, T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               // Fixpoint parser has `=` at two different precedence levels depending on whether it is
               // used in a sequence of boolean expressions or not. To avoid complexity we parenthesize
      @@ -1105,11 +943,10 @@
           }
       }
       
      -impl fmt::Display for Expr {
      +impl<T: Types> fmt::Display for Expr<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               match self {
      -            Expr::Var(x) => write!(f, "{x:?}"),
      -            Expr::ConstVar(x) => write!(f, "{x:?}"),
      +            Expr::Var(x) => write!(f, "{x}"),
                   Expr::Constant(c) => write!(f, "{c}"),
                   Expr::BinaryOp(op, box [e1, e2]) => {
                       write!(f, "{} {op} {}", FmtParens(e1), FmtParens(e2))?;
      @@ -1136,57 +973,56 @@
           }
       }
       
      -impl fmt::Display for Func {
      +impl<T: Types> fmt::Display for Func<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               match self {
      -            Func::Var(name) => write!(f, "{name:?}"),
      -            Func::Uif(uif) => write!(f, "{uif:?}"),
      +            Func::Var(name) => write!(f, "{name}"),
                   Func::Itf(itf) => write!(f, "{itf}"),
               }
           }
       }
       
      -pub(crate) static DEFAULT_QUALIFIERS: LazyLock<Vec<Qualifier>> = LazyLock::new(|| {
      +pub(crate) static DEFAULT_QUALIFIERS: LazyLock<Vec<Qualifier<StringTypes>>> = LazyLock::new(|| {
           // -----
           // UNARY
           // -----
       
           // (qualif EqZero ((v int)) (v == 0))
           let eqzero = Qualifier {
      -        args: vec![(NAME0, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Eq, Box::new([Expr::Var(NAME0), Expr::ZERO])),
      +        args: vec![("v", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Eq, Box::new([Expr::Var("v"), Expr::ZERO])),
               name: String::from("EqZero"),
               global: true,
           };
       
           // (qualif GtZero ((v int)) (v > 0))
           let gtzero = Qualifier {
      -        args: vec![(NAME0, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Gt, Box::new([Expr::Var(NAME0), Expr::ZERO])),
      +        args: vec![("v", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Gt, Box::new([Expr::Var("v"), Expr::ZERO])),
               name: String::from("GtZero"),
               global: true,
           };
       
           // (qualif GeZero ((v int)) (v >= 0))
           let gezero = Qualifier {
      -        args: vec![(NAME0, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Ge, Box::new([Expr::Var(NAME0), Expr::ZERO])),
      +        args: vec![("v", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Ge, Box::new([Expr::Var("v"), Expr::ZERO])),
               name: String::from("GeZero"),
               global: true,
           };
       
           // (qualif LtZero ((v int)) (v < 0))
           let ltzero = Qualifier {
      -        args: vec![(NAME0, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Lt, Box::new([Expr::Var(NAME0), Expr::ZERO])),
      +        args: vec![("v", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Lt, Box::new([Expr::Var("v"), Expr::ZERO])),
               name: String::from("LtZero"),
               global: true,
           };
       
           // (qualif LeZero ((v int)) (v <= 0))
           let lezero = Qualifier {
      -        args: vec![(NAME0, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Le, Box::new([Expr::Var(NAME0), Expr::ZERO])),
      +        args: vec![("v", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Le, Box::new([Expr::Var("v"), Expr::ZERO])),
               name: String::from("LeZero"),
               global: true,
           };
      @@ -1197,90 +1033,62 @@
       
           // (qualif Eq ((a int) (b int)) (a == b))
           let eq = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Eq, Box::new([Expr::Var(NAME0), Expr::Var(NAME1)])),
      +        args: vec![("a", Sort::Int), ("b", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Eq, Box::new([Expr::Var("a"), Expr::Var("b")])),
               name: String::from("Eq"),
               global: true,
           };
       
           // (qualif Gt ((a int) (b int)) (a > b))
           let gt = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Gt, Box::new([Expr::Var(NAME0), Expr::Var(NAME1)])),
      +        args: vec![("a", Sort::Int), ("b", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Gt, Box::new([Expr::Var("a"), Expr::Var("b")])),
               name: String::from("Gt"),
               global: true,
           };
       
           // (qualif Lt ((a int) (b int)) (a < b))
           let ge = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Ge, Box::new([Expr::Var(NAME0), Expr::Var(NAME1)])),
      +        args: vec![("a", Sort::Int), ("b", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Ge, Box::new([Expr::Var("a"), Expr::Var("b")])),
               name: String::from("Ge"),
               global: true,
           };
       
           // (qualif Ge ((a int) (b int)) (a >= b))
           let lt = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Lt, Box::new([Expr::Var(NAME0), Expr::Var(NAME1)])),
      +        args: vec![("a", Sort::Int), ("b", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Lt, Box::new([Expr::Var("a"), Expr::Var("b")])),
               name: String::from("Lt"),
               global: true,
           };
       
           // (qualif Le ((a int) (b int)) (a <= b))
           let le = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int)],
      -        body: Expr::BinaryOp(BinOp::Le, Box::new([Expr::Var(NAME0), Expr::Var(NAME1)])),
      +        args: vec![("a", Sort::Int), ("b", Sort::Int)],
      +        body: Expr::BinaryOp(BinOp::Le, Box::new([Expr::Var("a"), Expr::Var("b")])),
               name: String::from("Le"),
               global: true,
           };
       
           // (qualif Le1 ((a int) (b int)) (a < b - 1))
           let le1 = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int)],
      +        args: vec![("a", Sort::Int), ("b", Sort::Int)],
               body: Expr::BinaryOp(
                   BinOp::Le,
                   Box::new([
      -                Expr::Var(NAME0),
      -                Expr::BinaryOp(BinOp::Sub, Box::new([Expr::Var(NAME1), Expr::ONE])),
      +                Expr::Var("a"),
      +                Expr::BinaryOp(BinOp::Sub, Box::new([Expr::Var("b"), Expr::ONE])),
                   ]),
               ),
               name: String::from("Le1"),
               global: true,
           };
       
      -    // (qualif Add2 ((a int) (b int) (c int)) (a == b + c))
      -    let _add2 = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int), (NAME2, Sort::Int)],
      -        body: Expr::BinaryOp(
      -            BinOp::Eq,
      -            Box::new([
      -                Expr::Var(NAME0),
      -                Expr::BinaryOp(BinOp::Add, Box::new([Expr::Var(NAME1), Expr::Var(NAME2)])),
      -            ]),
      -        ),
      -        name: String::from("Add2"),
      -        global: true,
      -    };
      +    vec![eqzero, gtzero, gezero, ltzero, lezero, eq, gt, ge, lt, le, le1]
      +});
       
      -    // (qualif Sub2 ((a int) (b int) (c int)) (a == b - c))
      -    let _sub2 = Qualifier {
      -        args: vec![(NAME0, Sort::Int), (NAME1, Sort::Int), (NAME2, Sort::Int)],
      -        body: Expr::BinaryOp(
      -            BinOp::Eq,
      -            Box::new([
      -                Expr::Var(NAME0),
      -                Expr::BinaryOp(BinOp::Sub, Box::new([Expr::Var(NAME1), Expr::Var(NAME2)])),
      -            ]),
      -        ),
      -        name: String::from("Sub2"),
      -        global: true,
      -    };
      -
      -    vec![eqzero, gtzero, gezero, ltzero, lezero, eq, gt, ge, lt, le, le1] //, add2, sub2]
      -});
      -
      -impl fmt::Display for Qualifier {
      +impl<T: Types> fmt::Display for Qualifier<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               write!(
                   f,
      @@ -1288,7 +1096,7 @@
                   self.name,
                   self.args
                       .iter()
      -                .format_with(" ", |(name, sort), f| f(&format_args!("({name:?} {sort})"))),
      +                .format_with(" ", |(name, sort), f| f(&format_args!("({name} {sort})"))),
                   self.body
               )
           }
      @@ -1454,16 +1262,4 @@
               Constant::Bool(b)
           }
       }
      -
      -impl From<Name> for Expr {
      -    fn from(n: Name) -> Self {
      -        Expr::Var(n)
      -    }
      -}
      -
      -impl From<ConstName> for Expr {
      -    fn from(c_n: ConstName) -> Self {
      -        Expr::ConstVar(c_n)
      -    }
      -}
       
      \ No newline at end of file diff --git a/doc/src/flux_fixpoint/lib.rs.html b/doc/src/flux_fixpoint/lib.rs.html index fdc5635b1d..8a21071d6a 100644 --- a/doc/src/flux_fixpoint/lib.rs.html +++ b/doc/src/flux_fixpoint/lib.rs.html @@ -236,10 +236,42 @@ 236 237 238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271
      #![feature(rustc_private, min_specialization, lazy_cell, box_patterns, let_chains)]
       
      -extern crate rustc_index;
      -extern crate rustc_macros;
      +extern crate rustc_macros;
       extern crate rustc_serialize;
       extern crate rustc_span;
       
      @@ -256,9 +288,10 @@
       };
       
       pub use constraint::{
      -    BinOp, Const, ConstName, Constant, Constraint, Expr, Func, FuncSort, KVid, Name, PolyFuncSort,
      -    Pred, Proj, Qualifier, Sort, SortCtor, UnOp,
      +    BinOp, Const, Constant, Constraint, Expr, Func, FuncSort, PolyFuncSort, Pred, Proj, Qualifier,
      +    Sort, SortCtor, UnOp,
       };
      +use derive_where::derive_where;
       use flux_common::{cache::QueryCache, format::PadAdapter};
       use flux_config as config;
       use itertools::Itertools;
      @@ -266,34 +299,67 @@
       
       use crate::constraint::DEFAULT_QUALIFIERS;
       
      -#[derive(Clone, Debug, Hash)]
      -pub struct ConstInfo {
      -    pub name: ConstName,
      +pub trait Symbol: fmt::Display + Hash {}
      +
      +impl<T: fmt::Display + Hash> Symbol for T {}
      +
      +pub trait Types {
      +    type KVar: Symbol;
      +    type Var: Symbol;
      +    type Tag: fmt::Display + Hash + FromStr;
      +}
      +
      +#[macro_export]
      +macro_rules! declare_types {
      +    (type KVar = $kvar:ty; type Var = $var:ty; type Tag = $tag:ty;) => {
      +        pub mod fixpoint_generated {
      +            pub struct FixpointTypes;
      +            pub type Expr = $crate::Expr<FixpointTypes>;
      +            pub type Pred = $crate::Pred<FixpointTypes>;
      +            pub type Func = $crate::Func<FixpointTypes>;
      +            pub type Constraint = $crate::Constraint<FixpointTypes>;
      +            pub type KVar = $crate::KVar<FixpointTypes>;
      +            pub type ConstInfo = $crate::ConstInfo<FixpointTypes>;
      +            pub type Task = $crate::Task<FixpointTypes>;
      +            pub type Qualifier = $crate::Qualifier<FixpointTypes>;
      +            pub use $crate::{PolyFuncSort, Proj, Sort, SortCtor};
      +        }
      +
      +        impl $crate::Types for fixpoint_generated::FixpointTypes {
      +            type KVar = $kvar;
      +            type Var = $var;
      +            type Tag = $tag;
      +        }
      +    };
      +}
      +
      +struct StringTypes;
      +
      +impl Types for StringTypes {
      +    type KVar = &'static str;
      +    type Var = &'static str;
      +    type Tag = String;
      +}
      +
      +#[derive_where(Hash)]
      +pub struct ConstInfo<T: Types> {
      +    pub name: T::Var,
           pub orig: rustc_span::Symbol,
           pub sort: Sort,
       }
       
      -pub struct Task<Tag> {
      -    pub comments: Vec<String>,
      -    pub constants: Vec<ConstInfo>,
      -    pub kvars: Vec<KVar>,
      -    pub constraint: Constraint<Tag>,
      -    pub qualifiers: Vec<Qualifier>,
      +#[derive_where(Hash)]
      +pub struct Task<T: Types> {
      +    #[derive_where(skip)]
      +    pub comments: Vec<String>,
      +    pub constants: Vec<ConstInfo<T>>,
      +    pub kvars: Vec<KVar<T>>,
      +    pub constraint: Constraint<T>,
      +    pub qualifiers: Vec<Qualifier<T>>,
           pub sorts: Vec<String>,
           pub scrape_quals: bool,
       }
       
      -impl<Tag> Hash for Task<Tag> {
      -    fn hash<H: Hasher>(&self, state: &mut H) {
      -        self.constants.hash(state);
      -        self.kvars.hash(state);
      -        self.constraint.hash(state);
      -        self.qualifiers.hash(state);
      -        self.sorts.hash(state);
      -        self.scrape_quals.hash(state);
      -    }
      -}
      -
       #[derive(Deserialize, Debug)]
       #[serde(tag = "tag", content = "contents", bound(deserialize = "Tag: FromStr"))]
       pub enum FixpointResult<Tag> {
      @@ -320,20 +386,20 @@
       #[derive(Deserialize, Debug)]
       pub struct CrashInfo(Vec<serde_json::Value>);
       
      -#[derive(Debug, Hash)]
      -pub struct KVar {
      -    kvid: KVid,
      +#[derive_where(Hash)]
      +pub struct KVar<T: Types> {
      +    kvid: T::KVar,
           sorts: Vec<Sort>,
           comment: String,
       }
       
      -impl<Tag: fmt::Display + FromStr> Task<Tag> {
      +impl<T: Types> Task<T> {
           pub fn new(
               comments: Vec<String>,
      -        constants: Vec<ConstInfo>,
      -        kvars: Vec<KVar>,
      -        constraint: Constraint<Tag>,
      -        qualifiers: Vec<Qualifier>,
      +        constants: Vec<ConstInfo<T>>,
      +        kvars: Vec<KVar<T>>,
      +        constraint: Constraint<T>,
      +        qualifiers: Vec<Qualifier<T>>,
               sorts: Vec<String>,
               scrape_quals: bool,
           ) -> Self {
      @@ -350,7 +416,7 @@
               &self,
               key: String,
               cache: &mut QueryCache,
      -    ) -> io::Result<FixpointResult<Tag>> {
      +    ) -> io::Result<FixpointResult<T::Tag>> {
               let hash = self.hash_with_default();
       
               if config::is_cache_enabled() && cache.is_safe(&key, hash) {
      @@ -367,7 +433,7 @@
               result
           }
       
      -    fn check(&self) -> io::Result<FixpointResult<Tag>> {
      +    fn check(&self) -> io::Result<FixpointResult<T::Tag>> {
               let mut child = Command::new("fixpoint")
                   .arg("-q")
                   .arg("--stdin")
      @@ -391,13 +457,13 @@
           }
       }
       
      -impl KVar {
      -    pub fn new(kvid: KVid, sorts: Vec<Sort>, comment: String) -> Self {
      +impl<T: Types> KVar<T> {
      +    pub fn new(kvid: T::KVar, sorts: Vec<Sort>, comment: String) -> Self {
               Self { kvid, sorts, comment }
           }
       }
       
      -impl<Tag: fmt::Display> fmt::Display for Task<Tag> {
      +impl<T: Types> fmt::Display for Task<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               if self.scrape_quals {
                   writeln!(f, "(fixpoint \"--scrape=both\")")?;
      @@ -433,11 +499,11 @@
           }
       }
       
      -impl fmt::Display for KVar {
      +impl<T: Types> fmt::Display for KVar<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               write!(
                   f,
      -            "(var {:?} ({})) // {}",
      +            "(var ${} ({})) // {}",
                   self.kvid,
                   self.sorts
                       .iter()
      @@ -447,13 +513,13 @@
           }
       }
       
      -impl fmt::Display for ConstInfo {
      +impl<T: Types> fmt::Display for ConstInfo<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
      -        write!(f, "(constant {:?} {:?}) // orig: {}", self.name, self.sort, self.orig)
      +        write!(f, "(constant {} {}) // orig: {}", self.name, self.sort, self.orig)
           }
       }
       
      -impl<Tag: fmt::Display> fmt::Debug for Task<Tag> {
      +impl<T: Types> fmt::Debug for Task<T> {
           fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
               fmt::Display::fmt(self, f)
           }
      diff --git a/doc/src/flux_middle/rty/fold.rs.html b/doc/src/flux_middle/rty/fold.rs.html
      index 13d9078ed3..563dd0ba54 100644
      --- a/doc/src/flux_middle/rty/fold.rs.html
      +++ b/doc/src/flux_middle/rty/fold.rs.html
      @@ -1117,6 +1117,24 @@
       1117
       1118
       1119
      +1120
      +1121
      +1122
      +1123
      +1124
      +1125
      +1126
      +1127
      +1128
      +1129
      +1130
      +1131
      +1132
      +1133
      +1134
      +1135
      +1136
      +1137
       
      //! This modules folows the implementation of folding in rustc. For more information read the
       //! documentation in [`rustc_middle::ty::fold`].
       
      @@ -1135,8 +1153,9 @@
           subst::EVarSubstFolder,
           AliasTy, BaseTy, Binder, BoundVariableKind, Clause, ClauseKind, Constraint, Expr, ExprKind,
           FnOutput, FnSig, FnTraitPredicate, FuncSort, GeneratorObligPredicate, GenericArg, Index,
      -    Invariant, KVar, Name, OpaqueArgsMap, Opaqueness, PolyFuncSort, ProjectionPredicate, PtrKind,
      -    Qualifier, ReLateBound, Region, Sort, TraitPredicate, TraitRef, Ty, TyKind,
      +    Invariant, KVar, Name, OpaqueArgsMap, Opaqueness, OutlivesPredicate, PolyFuncSort,
      +    ProjectionPredicate, PtrKind, Qualifier, ReLateBound, Region, Sort, TraitPredicate, TraitRef,
      +    Ty, TyKind,
       };
       use crate::{
           global_env::GlobalEnv,
      @@ -1548,6 +1567,7 @@
                   ClauseKind::Trait(pred) => pred.visit_with(visitor),
                   ClauseKind::Projection(pred) => pred.visit_with(visitor),
                   ClauseKind::GeneratorOblig(pred) => pred.visit_with(visitor),
      +            ClauseKind::TypeOutlives(pred) => pred.visit_with(visitor),
               }
           }
       }
      @@ -1561,10 +1581,26 @@
                   ClauseKind::GeneratorOblig(pred) => {
                       Ok(ClauseKind::GeneratorOblig(pred.try_fold_with(folder)?))
                   }
      +            ClauseKind::TypeOutlives(pred) => {
      +                Ok(ClauseKind::TypeOutlives(pred.try_fold_with(folder)?))
      +            }
               }
           }
       }
       
      +impl<T: TypeVisitable, U: TypeVisitable> TypeVisitable for OutlivesPredicate<T, U> {
      +    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy, ()> {
      +        self.0.visit_with(visitor)?;
      +        self.1.visit_with(visitor)
      +    }
      +}
      +
      +impl<T: TypeFoldable, U: TypeFoldable> TypeFoldable for OutlivesPredicate<T, U> {
      +    fn try_fold_with<F: FallibleTypeFolder>(&self, folder: &mut F) -> Result<Self, F::Error> {
      +        Ok(OutlivesPredicate(self.0.try_fold_with(folder)?, self.1.try_fold_with(folder)?))
      +    }
      +}
      +
       impl TypeVisitable for TraitPredicate {
           fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy, ()> {
               self.trait_ref.visit_with(visitor)
      diff --git a/doc/src/flux_middle/rty/mod.rs.html b/doc/src/flux_middle/rty/mod.rs.html
      index 73e55457b4..0c3d2dc004 100644
      --- a/doc/src/flux_middle/rty/mod.rs.html
      +++ b/doc/src/flux_middle/rty/mod.rs.html
      @@ -2131,13 +2131,6 @@
       2131
       2132
       2133
      -2134
      -2135
      -2136
      -2137
      -2138
      -2139
      -2140
       
      //! Defines how flux represents refinement types internally. Definitions in this module are used
       //! during refinement type checking. A couple of important differences between definitions in this
       //! module and in [`crate::fhir`] are:
      @@ -2156,7 +2149,7 @@
       
       pub use evars::{EVar, EVarGen};
       pub use expr::{ESpan, Expr, ExprKind, HoleKind, KVar, KVid, Loc, Name, Path, Var};
      -use flux_common::{bug, index::IndexGen};
      +use flux_common::bug;
       pub use flux_fixpoint::{BinOp, Constant, UnOp};
       use itertools::Itertools;
       pub use normalize::Defns;
      @@ -2168,7 +2161,7 @@
       use rustc_middle::ty::ParamConst;
       pub use rustc_middle::{
           mir::Mutability,
      -    ty::{AdtFlags, ClosureKind, FloatTy, IntTy, ParamTy, ScalarInt, UintTy},
      +    ty::{AdtFlags, ClosureKind, FloatTy, IntTy, OutlivesPredicate, ParamTy, ScalarInt, UintTy},
       };
       use rustc_span::Symbol;
       pub use rustc_target::abi::{VariantIdx, FIRST_VARIANT};
      @@ -2245,9 +2238,12 @@
           FnTrait(FnTraitPredicate),
           Trait(TraitPredicate),
           Projection(ProjectionPredicate),
      +    TypeOutlives(TypeOutlivesPredicate),
           GeneratorOblig(GeneratorObligPredicate),
       }
       
      +pub type TypeOutlivesPredicate = OutlivesPredicate<Ty, Region>;
      +
       #[derive(Debug, Clone, PartialEq, Eq, Hash)]
       pub struct TraitPredicate {
           pub trait_ref: TraitRef,
      @@ -2864,21 +2860,6 @@
           }
       }
       
      -impl Qualifier {
      -    pub fn with_fresh_fvars(&self) -> (Vec<(Name, Sort)>, Expr) {
      -        let name_gen = IndexGen::new();
      -        let mut params = vec![];
      -        let body = self.body.replace_bound_exprs_with(|sort, _| {
      -            Expr::fold_sort(sort, |s| {
      -                let fresh = name_gen.fresh();
      -                params.push((fresh, s.clone()));
      -                Expr::fvar(fresh)
      -            })
      -        });
      -        (params, body)
      -    }
      -}
      -
       impl BoundVariableKind {
           fn expect_refine(&self) -> (&Sort, InferMode) {
               if let BoundVariableKind::Refine(sort, mode) = self {
      @@ -2887,6 +2868,10 @@
                   bug!("expected `BoundVariableKind::Refine`")
               }
           }
      +
      +    pub fn expect_sort(&self) -> &Sort {
      +        self.expect_refine().0
      +    }
       }
       
       impl<T> Binder<T> {
      @@ -3700,7 +3685,7 @@
                           },
                           Invariant {
                               pred: Binder::with_sort(
      -                            Expr::binary_op(BinOp::Lt, Expr::nu(), Expr::uint_max(uint_ty), None),
      +                            Expr::binary_op(BinOp::Le, Expr::nu(), Expr::uint_max(uint_ty), None),
                                   Sort::Int,
                               ),
                           },
      @@ -3732,7 +3717,7 @@
                           },
                           Invariant {
                               pred: Binder::with_sort(
      -                            Expr::binary_op(BinOp::Lt, Expr::nu(), Expr::int_max(int_ty), None),
      +                            Expr::binary_op(BinOp::Le, Expr::nu(), Expr::int_max(int_ty), None),
                                   Sort::Int,
                               ),
                           },
      @@ -3835,6 +3820,7 @@
                       ClauseKind::Trait(pred) => w!("Trait ({pred:?})"),
                       ClauseKind::Projection(pred) => w!("Projection ({pred:?})"),
                       ClauseKind::GeneratorOblig(pred) => w!("Projection ({pred:?})"),
      +                ClauseKind::TypeOutlives(pred) => w!("Outlives ({:?}, {:?})", &pred.0, &pred.1),
                   }
               }
           }
      diff --git a/doc/src/flux_middle/rty/refining.rs.html b/doc/src/flux_middle/rty/refining.rs.html
      index 96447daa5d..351a03aaba 100644
      --- a/doc/src/flux_middle/rty/refining.rs.html
      +++ b/doc/src/flux_middle/rty/refining.rs.html
      @@ -436,6 +436,11 @@
       436
       437
       438
      +439
      +440
      +441
      +442
      +443
       
      //! *Refining* is the process of generating a refined version of a rust type.
       //!
       //! Concretely, this module provides functions to go from types in [`rustc::ty`] to types in [`rty`].
      @@ -568,6 +573,10 @@
                       };
                       rty::ClauseKind::Projection(pred)
                   }
      +            rustc::ty::ClauseKind::TypeOutlives(pred) => {
      +                let pred = rty::OutlivesPredicate(self.as_default().refine_ty(&pred.0)?, pred.1);
      +                rty::ClauseKind::TypeOutlives(pred)
      +            }
               };
               let kind = rty::Binder::new(kind, List::empty());
               Ok(Some(rty::Clause { kind }))
      @@ -720,6 +729,7 @@
                   _ => Ok(rty::Ty::exists(ty)),
               }
           }
      +
           fn refine_alias_kind(kind: &rustc::ty::AliasKind) -> rty::AliasKind {
               match kind {
                   rustc::ty::AliasKind::Projection => rty::AliasKind::Projection,
      diff --git a/doc/src/flux_middle/rustc/lowering.rs.html b/doc/src/flux_middle/rustc/lowering.rs.html
      index 29a372a74d..954afc93a4 100644
      --- a/doc/src/flux_middle/rustc/lowering.rs.html
      +++ b/doc/src/flux_middle/rustc/lowering.rs.html
      @@ -947,6 +947,20 @@
       947
       948
       949
      +950
      +951
      +952
      +953
      +954
      +955
      +956
      +957
      +958
      +959
      +960
      +961
      +962
      +963
       

      use flux_errors::{FluxSession, ResultExt};
       use itertools::Itertools;
       use rustc_borrowck::consumers::BodyWithBorrowckFacts;
      @@ -973,8 +987,8 @@
           ty::{
               AdtDef, AdtDefData, AliasKind, Binder, BoundRegion, BoundVariableKind, Clause, ClauseKind,
               Const, FieldDef, FnSig, GenericArg, GenericParamDef, GenericParamDefKind,
      -        GenericPredicates, Generics, PolyFnSig, TraitPredicate, TraitRef, Ty, ValueConst,
      -        VariantDef,
      +        GenericPredicates, Generics, PolyFnSig, TraitPredicate, TraitRef, Ty,
      +        TypeOutlivesPredicate, ValueConst, VariantDef,
           },
       };
       use crate::{
      @@ -1798,6 +1812,13 @@
                       .emit(sess)?;
                   ClauseKind::Projection(ProjectionPredicate { projection_ty, term })
               }
      +        rustc_ty::ClauseKind::TypeOutlives(outlives_pred) => {
      +            ClauseKind::TypeOutlives(
      +                lower_type_outlives(tcx, outlives_pred)
      +                    .map_err(|err| errors::UnsupportedGenericBound::new(span, err.descr))
      +                    .emit(sess)?,
      +            )
      +        }
               _ => {
                   return Err(sess.emit_err(errors::UnsupportedGenericBound::new(
                       span,
      @@ -1808,6 +1829,13 @@
           Ok(Clause::new(kind))
       }
       
      +fn lower_type_outlives<'tcx>(
      +    tcx: TyCtxt<'tcx>,
      +    pred: rustc_ty::TypeOutlivesPredicate<'tcx>,
      +) -> Result<TypeOutlivesPredicate, UnsupportedReason> {
      +    Ok(rustc_ty::OutlivesPredicate(lower_ty(tcx, pred.0)?, lower_region(&pred.1)?))
      +}
      +
       mod errors {
           use flux_macros::Diagnostic;
           use rustc_middle::mir as rustc_mir;
      diff --git a/doc/src/flux_middle/rustc/ty.rs.html b/doc/src/flux_middle/rustc/ty.rs.html
      index f68eddb3c0..964fed6c27 100644
      --- a/doc/src/flux_middle/rustc/ty.rs.html
      +++ b/doc/src/flux_middle/rustc/ty.rs.html
      @@ -715,6 +715,9 @@
       715
       716
       717
      +718
      +719
      +720
       
      //! A simplified version of rust types.
       
       mod subst;
      @@ -730,8 +733,8 @@
       pub use rustc_middle::{
           mir::Mutability,
           ty::{
      -        BoundRegionKind, BoundVar, DebruijnIndex, EarlyBoundRegion, FloatTy, IntTy, ParamTy,
      -        RegionVid, ScalarInt, UintTy,
      +        BoundRegionKind, BoundVar, DebruijnIndex, EarlyBoundRegion, FloatTy, IntTy,
      +        OutlivesPredicate, ParamTy, RegionVid, ScalarInt, UintTy,
           },
       };
       use rustc_span::{symbol::kw, Symbol};
      @@ -789,8 +792,11 @@
       pub enum ClauseKind {
           Trait(TraitPredicate),
           Projection(ProjectionPredicate),
      +    TypeOutlives(TypeOutlivesPredicate),
       }
       
      +pub type TypeOutlivesPredicate = OutlivesPredicate<Ty, Region>;
      +
       #[derive(PartialEq, Eq, Hash, Debug)]
       pub struct TraitPredicate {
           pub trait_ref: TraitRef,
      diff --git a/doc/src/flux_refineck/checker.rs.html b/doc/src/flux_refineck/checker.rs.html
      index dd4075ac19..5c6a62129e 100644
      --- a/doc/src/flux_refineck/checker.rs.html
      +++ b/doc/src/flux_refineck/checker.rs.html
      @@ -1421,6 +1421,7 @@
       1421
       1422
       1423
      +1424
       

      use std::{collections::hash_map::Entry, iter};
       
       use flux_common::{bug, dbg, index::IndexVec, iter::IterExt, tracked_span_bug};
      @@ -2033,8 +2034,9 @@
                       rty::ClauseKind::GeneratorOblig(gen_pred) => {
                           self.check_oblig_generator_pred(rcx, &obligs.snapshot, gen_pred)?;
                       }
      -                rty::ClauseKind::Projection(_) => (),
      -                rty::ClauseKind::Trait(_) => (),
      +                rty::ClauseKind::Projection(_)
      +                | rty::ClauseKind::Trait(_)
      +                | rty::ClauseKind::TypeOutlives(_) => {}
                   }
               }
               Ok(())
      diff --git a/doc/src/flux_refineck/constraint_gen.rs.html b/doc/src/flux_refineck/constraint_gen.rs.html
      index 05165efcb8..e155185ac7 100644
      --- a/doc/src/flux_refineck/constraint_gen.rs.html
      +++ b/doc/src/flux_refineck/constraint_gen.rs.html
      @@ -863,6 +863,11 @@
       863
       864
       865
      +866
      +867
      +868
      +869
      +870
       
      use std::iter;
       
       use flux_common::tracked_span_bug;
      @@ -1063,7 +1068,6 @@
                       .collect_vec();
       
               let genv = self.genv;
      -        let callsite_def_id = self.def_id;
               let span = self.span;
       
               if let Some(did) = callee_def_id {
      @@ -1093,7 +1097,7 @@
                       },
                       |sort, mode| infcx.fresh_infer_var(sort, mode),
                   )
      -            .normalize_projections(genv, infcx.region_infcx, callsite_def_id, infcx.refparams)?;
      +            .normalize_projections(genv, infcx.region_infcx, infcx.def_id, infcx.refparams)?;
       
               let obligs = if let Some(did) = callee_def_id {
                   mk_obligations(genv, did, &generic_args, &refine_args)?
      @@ -1143,13 +1147,19 @@
                           .normalize_projections(
                               infcx.genv,
                               infcx.region_infcx,
      -                        callsite_def_id,
      +                        infcx.def_id,
                               infcx.refparams,
                           )?;
      +                let term = projection_pred.term.normalize_projections(
      +                    infcx.genv,
      +                    infcx.region_infcx,
      +                    infcx.def_id,
      +                    infcx.refparams,
      +                )?;
       
                       // TODO: does this really need to be invariant? https://github.com/flux-rs/flux/pull/478#issuecomment-1654035374
      -                infcx.subtyping(rcx, &impl_elem, &projection_pred.term)?;
      -                infcx.subtyping(rcx, &projection_pred.term, &impl_elem)?;
      +                infcx.subtyping(rcx, &impl_elem, &term)?;
      +                infcx.subtyping(rcx, &term, &impl_elem)?;
                   }
               }
               // Replace evars
      diff --git a/doc/src/flux_refineck/fixpoint_encoding.rs.html b/doc/src/flux_refineck/fixpoint_encoding.rs.html
      index 13136e6fb3..74b31fda40 100644
      --- a/doc/src/flux_refineck/fixpoint_encoding.rs.html
      +++ b/doc/src/flux_refineck/fixpoint_encoding.rs.html
      @@ -694,11 +694,123 @@
       694
       695
       696
      +697
      +698
      +699
      +700
      +701
      +702
      +703
      +704
      +705
      +706
      +707
      +708
      +709
      +710
      +711
      +712
      +713
      +714
      +715
      +716
      +717
      +718
      +719
      +720
      +721
      +722
      +723
      +724
      +725
      +726
      +727
      +728
      +729
      +730
      +731
      +732
      +733
      +734
      +735
      +736
      +737
      +738
      +739
      +740
      +741
      +742
      +743
      +744
      +745
      +746
      +747
      +748
      +749
      +750
      +751
      +752
      +753
      +754
      +755
      +756
      +757
      +758
      +759
      +760
      +761
      +762
      +763
      +764
      +765
      +766
      +767
      +768
      +769
      +770
      +771
      +772
      +773
      +774
      +775
      +776
      +777
      +778
      +779
      +780
      +781
      +782
      +783
      +784
      +785
      +786
      +787
      +788
      +789
      +790
      +791
      +792
      +793
      +794
      +795
      +796
      +797
      +798
      +799
      +800
      +801
      +802
      +803
      +804
      +805
      +806
      +807
      +808
      +809
       
      //! Encoding of the refinement tree into a fixpoint constraint.
       
       use std::{hash::Hash, iter};
       
      -use fixpoint::FixpointResult;
       use flux_common::{
           bug,
           cache::QueryCache,
      @@ -707,8 +819,9 @@
           span_bug,
       };
       use flux_config as config;
      -use flux_fixpoint as fixpoint;
      -use flux_middle::{
      +use flux_fixpoint::FixpointResult;
      +// use flux_fixpoint as fixpoint;
      +use flux_middle::{
           fhir::FuncKind,
           global_env::GlobalEnv,
           intern::List,
      @@ -753,7 +866,64 @@
           Conj,
       }
       
      -type NameMap = UnordMap<rty::Name, fixpoint::Name>;
      +pub mod fixpoint {
      +    use std::fmt;
      +
      +    use rustc_index::newtype_index;
      +
      +    newtype_index! {
      +        pub struct KVid {}
      +    }
      +
      +    newtype_index! {
      +        pub struct LocalVar {}
      +    }
      +
      +    newtype_index! {
      +        pub struct GlobalVar {}
      +    }
      +
      +    #[derive(Hash, Debug, Copy, Clone)]
      +    pub enum Var {
      +        Global(GlobalVar),
      +        Local(LocalVar),
      +    }
      +
      +    impl From<GlobalVar> for Var {
      +        fn from(v: GlobalVar) -> Self {
      +            Self::Global(v)
      +        }
      +    }
      +
      +    impl From<LocalVar> for Var {
      +        fn from(v: LocalVar) -> Self {
      +            Self::Local(v)
      +        }
      +    }
      +
      +    impl fmt::Display for KVid {
      +        fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
      +            write!(f, "k{}", self.as_u32())
      +        }
      +    }
      +
      +    impl fmt::Display for Var {
      +        fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
      +            match self {
      +                Var::Global(v) => write!(f, "c{}", v.as_u32()),
      +                Var::Local(v) => write!(f, "a{}", v.as_u32()),
      +            }
      +        }
      +    }
      +
      +    flux_fixpoint::declare_types! {
      +        type KVar = KVid;
      +        type Var = Var;
      +        type Tag = super::TagIdx;
      +    }
      +    pub use fixpoint_generated::*;
      +}
      +
       type KVidMap = UnordMap<rty::KVid, Vec<fixpoint::KVid>>;
       type ConstMap = FxIndexMap<Key, ConstInfo>;
       
      @@ -768,10 +938,9 @@
           genv: &'genv GlobalEnv<'genv, 'tcx>,
           kvars: KVarStore,
           fixpoint_kvars: IndexVec<fixpoint::KVid, FixpointKVar>,
      -    kvid_map: KVidMap,
      -    name_gen: IndexGen<fixpoint::Name>,
      -    name_map: NameMap,
      +    env: Env,
           const_map: ConstMap,
      +    kvid_map: KVidMap,
           tags: IndexVec<TagIdx, T>,
           tags_inv: UnordMap<T, TagIdx>,
           /// [`DefId`] of the item being checked. This could be a function/method or an adt when checking
      @@ -784,24 +953,81 @@
           orig: rty::KVid,
       }
       
      +/// Environment used to map [`rty::Var`] into [`fixpoint::Name`]. This only supports
      +/// mapping of [`rty::Var::LateBound`] and [`rty::Var::Free`].
      +struct Env {
      +    local_var_gen: IndexGen<fixpoint::LocalVar>,
      +    fvars: UnordMap<rty::Name, fixpoint::LocalVar>,
      +    /// Layers of late bound variables
      +    layers: Vec<Vec<fixpoint::LocalVar>>,
      +}
      +
      +impl Env {
      +    fn new() -> Self {
      +        Self { local_var_gen: IndexGen::new(), fvars: Default::default(), layers: Vec::new() }
      +    }
      +
      +    fn fresh_name(&self) -> fixpoint::LocalVar {
      +        self.local_var_gen.fresh()
      +    }
      +
      +    fn insert_fvar_map(&mut self, name: rty::Name) -> fixpoint::LocalVar {
      +        let fresh = self.fresh_name();
      +        self.fvars.insert(name, fresh);
      +        fresh
      +    }
      +
      +    fn remove_fvar_map(&mut self, name: rty::Name) {
      +        self.fvars.remove(&name);
      +    }
      +
      +    fn get_fvar(&self, name: rty::Name) -> Option<fixpoint::LocalVar> {
      +        self.fvars.get(&name).copied()
      +    }
      +
      +    fn get_late_bvar(&self, debruijn: DebruijnIndex, idx: u32) -> Option<fixpoint::LocalVar> {
      +        let depth = self.layers.len().checked_sub(debruijn.as_usize() + 1)?;
      +        self.layers[depth].get(idx as usize).copied()
      +    }
      +
      +    fn push_layer_with_fresh_names(&mut self, count: usize) {
      +        let layer = (0..count).map(|_| self.fresh_name()).collect();
      +        self.layers.push(layer);
      +    }
      +
      +    fn last_layer(&self) -> &[fixpoint::LocalVar] {
      +        self.layers.last().unwrap()
      +    }
      +}
      +
       struct ExprCtxt<'a> {
      -    name_map: &'a NameMap,
      +    env: &'a Env,
           const_map: &'a ConstMap,
           /// Used to report bugs
           dbg_span: Span,
       }
       
      -#[derive(Debug)]
      -struct ConstInfo {
      -    name: fixpoint::ConstName,
      +struct ConstInfo {
      +    name: fixpoint::GlobalVar,
           sym: rustc_span::Symbol,
           sort: fixpoint::Sort,
           val: Option<Constant>,
       }
       
       /// An alias for additional bindings introduced when ANF-ing index expressions
      -/// in the course of conversion to fixpoint.
      -type Bindings = Vec<(fixpoint::Name, fixpoint::Sort, fixpoint::Expr)>;
      +/// in the course of encoding into fixpoint.
      +pub type Bindings = Vec<(fixpoint::LocalVar, fixpoint::Sort, fixpoint::Expr)>;
      +
      +pub fn stitch(bindings: Bindings, c: fixpoint::Constraint) -> fixpoint::Constraint {
      +    bindings.into_iter().rev().fold(c, |c, (name, sort, e)| {
      +        fixpoint::Constraint::ForAll(
      +            fixpoint::Var::Local(name),
      +            sort,
      +            fixpoint::Pred::Expr(e),
      +            Box::new(c),
      +        )
      +    })
      +}
       
       /// An alias for a list of predicate (conjuncts) and their spans, used to give
       /// localized errors when refine checking fails.
      @@ -812,45 +1038,38 @@
           Tag: std::hash::Hash + Eq + Copy,
       {
           pub fn new(genv: &'genv GlobalEnv<'genv, 'tcx>, def_id: LocalDefId, kvars: KVarStore) -> Self {
      -        let name_gen = IndexGen::new();
               let const_map = fixpoint_const_map(genv);
               Self {
                   comments: vec![],
                   kvars,
                   genv,
      -            name_gen,
      +            env: Env::new(),
      +            const_map,
                   fixpoint_kvars: IndexVec::new(),
                   kvid_map: KVidMap::default(),
      -            name_map: NameMap::default(),
      -            const_map,
                   tags: IndexVec::new(),
                   tags_inv: Default::default(),
                   def_id,
               }
           }
       
      -    pub fn with_name_map<R>(
      +    pub(crate) fn with_name_map<R>(
               &mut self,
               name: rty::Name,
      -        to: fixpoint::Name,
      -        f: impl FnOnce(&mut Self) -> R,
      +        f: impl FnOnce(&mut Self, fixpoint::LocalVar) -> R,
           ) -> R {
      -        self.name_map.insert(name, to);
      -        let r = f(self);
      -        self.name_map.remove(&name);
      +        let fresh = self.env.insert_fvar_map(name);
      +        let r = f(self, fresh);
      +        self.env.remove_fvar_map(name);
               r
           }
       
      -    pub fn fresh_name(&self) -> fixpoint::Name {
      -        self.name_gen.fresh()
      -    }
      -
           fn assume_const_val(
      -        cstr: fixpoint::Constraint<TagIdx>,
      -        const_name: fixpoint::ConstName,
      +        cstr: fixpoint::Constraint,
      +        var: fixpoint::GlobalVar,
               const_val: Constant,
      -    ) -> fixpoint::Constraint<TagIdx> {
      -        let e1 = fixpoint::Expr::from(const_name);
      +    ) -> fixpoint::Constraint {
      +        let e1 = fixpoint::Expr::Var(fixpoint::Var::Global(var));
               let e2 = fixpoint::Expr::Constant(const_val);
               let pred = fixpoint::Pred::Expr(e1.eq(e2));
               fixpoint::Constraint::Guard(pred, Box::new(cstr))
      @@ -859,7 +1078,7 @@
           pub fn check(
               self,
               cache: &mut QueryCache,
      -        constraint: fixpoint::Constraint<TagIdx>,
      +        constraint: fixpoint::Constraint,
               config: &CheckerConfig,
           ) -> QueryResult<Vec<Tag>> {
               if !constraint.is_concrete() {
      @@ -894,7 +1113,7 @@
                   .into_values()
                   .map(|const_info| {
                       fixpoint::ConstInfo {
      -                    name: const_info.name,
      +                    name: fixpoint::Var::Global(const_info.name),
                           orig: const_info.sym,
                           sort: const_info.sort,
                       }
      @@ -983,19 +1202,20 @@
               let decl = self.kvars.get(kvar.kvid);
       
               let all_args = iter::zip(&kvar.args, &decl.sorts)
      -            .map(|(arg, sort)| self.imm(arg, sort, bindings))
      +            .map(|(arg, sort)| fixpoint::Var::Local(self.imm(arg, sort, bindings)))
                   .collect_vec();
       
               let kvids = &self.kvid_map[&kvar.kvid];
       
               if all_args.is_empty() {
      -            let fresh = self.fresh_name();
      +            let fresh = self.env.fresh_name();
      +            let var = fixpoint::Var::Local(fresh);
                   bindings.push((
                       fresh,
                       fixpoint::Sort::Unit,
      -                fixpoint::Expr::eq(fixpoint::Expr::Var(fresh), fixpoint::Expr::Unit),
      +                fixpoint::Expr::eq(fixpoint::Expr::Var(var), fixpoint::Expr::Unit),
                   ));
      -            return fixpoint::Pred::KVar(kvids[0], vec![fresh]);
      +            return fixpoint::Pred::KVar(kvids[0], vec![var]);
               }
       
               let kvars = kvids
      @@ -1044,11 +1264,11 @@
               &self,
               arg: &rty::Expr,
               sort: &rty::Sort,
      -        bindings: &mut Vec<(fixpoint::Name, fixpoint::Sort, fixpoint::Expr)>,
      -    ) -> fixpoint::Name {
      +        bindings: &mut Vec<(fixpoint::LocalVar, fixpoint::Sort, fixpoint::Expr)>,
      +    ) -> fixpoint::LocalVar {
               match arg.kind() {
                   rty::ExprKind::Var(rty::Var::Free(name)) => {
      -                *self.name_map.get(name).unwrap_or_else(|| {
      +                self.env.get_fvar(*name).unwrap_or_else(|| {
                           span_bug!(self.def_span(), "no entry found for key: `{name:?}`")
                       })
                   }
      @@ -1056,9 +1276,9 @@
                       span_bug!(self.def_span(), "unexpected variable")
                   }
                   _ => {
      -                let fresh = self.fresh_name();
      +                let fresh = self.env.fresh_name();
                       let pred = fixpoint::Expr::eq(
      -                    fixpoint::Expr::Var(fresh),
      +                    fixpoint::Expr::Var(fresh.into()),
                           self.as_expr_cx().expr_to_fixpoint(arg),
                       );
                       bindings.push((fresh, sort_to_fixpoint(sort), pred));
      @@ -1068,7 +1288,7 @@
           }
       
           fn as_expr_cx(&self) -> ExprCtxt<'_> {
      -        ExprCtxt::new(&self.name_map, &self.const_map, self.def_span())
      +        ExprCtxt::new(&self.env, &self.const_map, self.def_span())
           }
       
           fn def_span(&self) -> Span {
      @@ -1258,18 +1478,13 @@
       }
       
       impl<'a> ExprCtxt<'a> {
      -    fn new(name_map: &'a NameMap, const_map: &'a ConstMap, dbg_span: Span) -> Self {
      -        Self { name_map, const_map, dbg_span }
      +    fn new(env: &'a Env, const_map: &'a ConstMap, dbg_span: Span) -> Self {
      +        Self { env, const_map, dbg_span }
           }
       
           fn expr_to_fixpoint(&self, expr: &rty::Expr) -> fixpoint::Expr {
               match expr.kind() {
      -            rty::ExprKind::Var(rty::Var::Free(name)) => {
      -                let name = self.name_map.get(name).unwrap_or_else(|| {
      -                    span_bug!(self.dbg_span, "no entry found in name_map for name: `{name:?}`")
      -                });
      -                fixpoint::Expr::Var(*name)
      -            }
      +            rty::ExprKind::Var(var) => fixpoint::Expr::Var(self.var_to_fixpoint(var).into()),
                   rty::ExprKind::Constant(c) => fixpoint::Expr::Constant(*c),
                   rty::ExprKind::BinaryOp(op, e1, e2) => {
                       fixpoint::Expr::BinaryOp(
      @@ -1292,7 +1507,7 @@
                       let const_info = self.const_map.get(&Key::Const(*did)).unwrap_or_else(|| {
                           span_bug!(self.dbg_span, "no entry found in const_map for def_id: `{did:?}`")
                       });
      -                fixpoint::Expr::ConstVar(const_info.name)
      +                fixpoint::Expr::Var(const_info.name.into())
                   }
                   rty::ExprKind::App(func, args) => {
                       let func = self.func_to_fixpoint(func);
      @@ -1306,8 +1521,7 @@
                           self.expr_to_fixpoint(e2),
                       ]))
                   }
      -            rty::ExprKind::Var(_)
      -            | rty::ExprKind::Hole(..)
      +            rty::ExprKind::Hole(..)
                   | rty::ExprKind::KVar(_)
                   | rty::ExprKind::Local(_)
                   | rty::ExprKind::Abs(_)
      @@ -1318,6 +1532,24 @@
               }
           }
       
      +    fn var_to_fixpoint(&self, var: &rty::Var) -> fixpoint::LocalVar {
      +        match var {
      +            rty::Var::Free(name) => {
      +                self.env.get_fvar(*name).unwrap_or_else(|| {
      +                    span_bug!(self.dbg_span, "no entry found for name: `{name:?}`")
      +                })
      +            }
      +            rty::Var::LateBound(debruijn, idx) => {
      +                self.env.get_late_bvar(*debruijn, *idx).unwrap_or_else(|| {
      +                    span_bug!(self.dbg_span, "no entry found for late bound var: `{var:?}`")
      +                })
      +            }
      +            rty::Var::EarlyBound(_) | rty::Var::EVar(_) => {
      +                span_bug!(self.dbg_span, "unexpected var: `{var:?}`")
      +            }
      +        }
      +    }
      +
           fn exprs_to_fixpoint<'b>(
               &self,
               exprs: impl IntoIterator<Item = &'b rty::Expr>,
      @@ -1342,12 +1574,7 @@
       
           fn func_to_fixpoint(&self, func: &rty::Expr) -> fixpoint::Func {
               match func.kind() {
      -            rty::ExprKind::Var(rty::Var::Free(name)) => {
      -                let name = self.name_map.get(name).unwrap_or_else(|| {
      -                    span_bug!(self.dbg_span, "no name found for key: `{name:?}`")
      -                });
      -                fixpoint::Func::Var(*name)
      -            }
      +            rty::ExprKind::Var(var) => fixpoint::Func::Var(self.var_to_fixpoint(var).into()),
                   rty::ExprKind::GlobalFunc(_, FuncKind::Thy(sym)) => fixpoint::Func::Itf(*sym),
                   rty::ExprKind::GlobalFunc(sym, FuncKind::Uif) => {
                       let cinfo = self.const_map.get(&Key::Uif(*sym)).unwrap_or_else(|| {
      @@ -1356,7 +1583,7 @@
                               "no constant found for uninterpreted function `{sym}` in `const_map`"
                           )
                       });
      -                fixpoint::Func::Uif(cinfo.name)
      +                fixpoint::Func::Var(cinfo.name.into())
                   }
                   rty::ExprKind::GlobalFunc(sym, FuncKind::Def) => {
                       span_bug!(self.dbg_span, "unexpected global function `{sym}`. Function must be normalized away at this point")
      @@ -1373,21 +1600,20 @@
           const_map: &ConstMap,
           qualifier: &rty::Qualifier,
       ) -> fixpoint::Qualifier {
      -    let (args, body) = qualifier.with_fresh_fvars();
      -    let name_gen = IndexGen::skipping(const_map.len());
      -    let mut name_map = NameMap::default();
      -    let args = args
      -        .into_iter()
      -        .map(|(name, sort)| {
      -            let fresh = name_gen.fresh();
      -            name_map.insert(name, fresh);
      -            (fresh, sort_to_fixpoint(&sort))
      -        })
      -        .collect_vec();
      +    let mut env = Env::new();
      +    env.push_layer_with_fresh_names(qualifier.body.vars().len());
      +
      +    let args: Vec<(fixpoint::Var, fixpoint::Sort)> =
      +        iter::zip(env.last_layer(), qualifier.body.vars())
      +            .map(|(name, var)| ((*name).into(), sort_to_fixpoint(var.expect_sort())))
      +            .collect();
      +
      +    let cx = ExprCtxt::new(&env, const_map, dbg_span);
      +    let body = cx.expr_to_fixpoint(qualifier.body.as_ref().skip_binder());
      +
           let name = qualifier.name.to_string();
      -    let cx = ExprCtxt::new(&name_map, const_map, dbg_span);
      -    let body = cx.expr_to_fixpoint(&body);
           let global = qualifier.global;
      +
           fixpoint::Qualifier { name, args, body, global }
       }
       

    \ No newline at end of file diff --git a/doc/src/flux_refineck/refine_tree.rs.html b/doc/src/flux_refineck/refine_tree.rs.html index 6808a3df7a..4e5d7c0311 100644 --- a/doc/src/flux_refineck/refine_tree.rs.html +++ b/doc/src/flux_refineck/refine_tree.rs.html @@ -831,17 +831,6 @@ 831 832 833 -834 -835 -836 -837 -838 -839 -840 -841 -842 -843 -844
    use std::{
         cell::RefCell,
         ops::ControlFlow,
    @@ -849,7 +838,6 @@
     };
     
     use flux_common::index::{IndexGen, IndexVec};
    -use flux_fixpoint as fixpoint;
     use flux_middle::rty::{
         box_args,
         evars::EVarSol,
    @@ -862,7 +850,7 @@
     
     use crate::{
         constraint_gen::Tag,
    -    fixpoint_encoding::{sort_to_fixpoint, FixpointCtxt, TagIdx},
    +    fixpoint_encoding::{fixpoint, sort_to_fixpoint, stitch, FixpointCtxt},
     };
     
     /// A *refine*ment *tree* tracks the "tree-like structure" of refinement variables and predicates
    @@ -973,7 +961,7 @@
             self.root.borrow_mut().simplify();
         }
     
    -    pub(crate) fn into_fixpoint(self, cx: &mut FixpointCtxt<Tag>) -> fixpoint::Constraint<TagIdx> {
    +    pub(crate) fn into_fixpoint(self, cx: &mut FixpointCtxt<Tag>) -> fixpoint::Constraint {
             self.root
                 .borrow()
                 .to_fixpoint(cx)
    @@ -1373,16 +1361,15 @@
             }
         }
     
    -    fn to_fixpoint(&self, cx: &mut FixpointCtxt<Tag>) -> Option<fixpoint::Constraint<TagIdx>> {
    +    fn to_fixpoint(&self, cx: &mut FixpointCtxt<Tag>) -> Option<fixpoint::Constraint> {
             match &self.kind {
                 NodeKind::Comment(_) | NodeKind::Conj | NodeKind::ForAll(_, Sort::Loc) => {
                     children_to_fixpoint(cx, &self.children)
                 }
                 NodeKind::ForAll(name, sort) => {
    -                let fresh = cx.fresh_name();
    -                cx.with_name_map(*name, fresh, |cx| {
    +                cx.with_name_map(*name, |cx, fresh| {
                         Some(fixpoint::Constraint::ForAll(
    -                        fresh,
    +                        fixpoint::Var::Local(fresh),
                             sort_to_fixpoint(sort),
                             fixpoint::Pred::TRUE,
                             Box::new(children_to_fixpoint(cx, &self.children)?),
    @@ -1433,7 +1420,7 @@
     fn children_to_fixpoint(
         cx: &mut FixpointCtxt<Tag>,
         children: &[NodePtr],
    -) -> Option<fixpoint::Constraint<TagIdx>> {
    +) -> Option<fixpoint::Constraint> {
         let mut children = children
             .iter()
             .filter_map(|node| node.borrow().to_fixpoint(cx))
    @@ -1445,15 +1432,6 @@
         }
     }
     
    -fn stitch(
    -    bindings: Vec<(fixpoint::Name, fixpoint::Sort, fixpoint::Expr)>,
    -    c: fixpoint::Constraint<TagIdx>,
    -) -> fixpoint::Constraint<TagIdx> {
    -    bindings.into_iter().rev().fold(c, |c, (name, sort, e)| {
    -        fixpoint::Constraint::ForAll(name, sort, fixpoint::Pred::Expr(e), Box::new(c))
    -    })
    -}
    -
     struct ParentsIter {
         ptr: Option<NodePtr>,
     }
    diff --git a/doc/trait.impl/core/clone/trait.Clone.js b/doc/trait.impl/core/clone/trait.Clone.js
    index b09ba0f7b8..bfbd41a037 100644
    --- a/doc/trait.impl/core/clone/trait.Clone.js
    +++ b/doc/trait.impl/core/clone/trait.Clone.js
    @@ -1,11 +1,11 @@
     (function() {var implementors = {
     "flux_common":[["impl Clone for PadAdapterState"]],
     "flux_config":[["impl Clone for PointerWidth"]],
    -"flux_desugar":[["impl Clone for Param"],["impl Clone for ScopeId"],["impl Clone for TypePos"]],
    -"flux_fhir_analysis":[["impl Clone for Layer"],["impl Clone for Entry"]],
    -"flux_fixpoint":[["impl Clone for FuncSort"],["impl Clone for Name"],["impl Clone for UnOp"],["impl Clone for PolyFuncSort"],["impl Clone for Sign"],["impl Clone for Const"],["impl Clone for BinOp"],["impl Clone for BigInt"],["impl Clone for Proj"],["impl Clone for Constant"],["impl Clone for ConstInfo"],["impl Clone for Sort"],["impl Clone for KVid"],["impl Clone for Func"],["impl Clone for ConstName"],["impl Clone for SortCtor"]],
    +"flux_desugar":[["impl Clone for ScopeId"],["impl Clone for Param"],["impl Clone for TypePos"]],
    +"flux_fhir_analysis":[["impl Clone for Entry"],["impl Clone for Layer"]],
    +"flux_fixpoint":[["impl Clone for PolyFuncSort"],["impl Clone for BinOp"],["impl Clone for Constant"],["impl<T: Clone + Types> Clone for Const<T>where\n    T::Var: Clone,"],["impl Clone for Sign"],["impl Clone for BigInt"],["impl Clone for Proj"],["impl Clone for FuncSort"],["impl Clone for SortCtor"],["impl Clone for UnOp"],["impl Clone for Sort"]],
     "flux_macros":[["impl Clone for AllowMultipleAlternatives"],["impl Clone for Applicability"],["impl Clone for KindsStatistics"],["impl Clone for SubdiagnosticKind"],["impl<'ty> Clone for FieldInnerTy<'ty>"],["impl Clone for DiagnosticDeriveKind"],["impl Clone for SuggestionKind"]],
    -"flux_middle":[["impl Clone for FnTraitPredicate"],["impl Clone for QPath"],["impl Clone for TyKind"],["impl Clone for TraitRef"],["impl Clone for ExprKind"],["impl Clone for ArrayLen"],["impl Clone for Name"],["impl<T: Clone> Clone for EarlyBinder<T>"],["impl Clone for SortCtor"],["impl Clone for Name"],["impl Clone for BaseTyKind"],["impl Clone for InferMode"],["impl Clone for Lifetime"],["impl Clone for ProjectionPredicate"],["impl Clone for Path"],["impl Clone for Const"],["impl Clone for KVid"],["impl Clone for BoundVariableKind"],["impl Clone for Sort"],["impl Clone for Clause"],["impl Clone for Expr"],["impl Clone for TraitBoundModifier"],["impl Clone for FuncSort"],["impl Clone for GenericParamDef"],["impl Clone for BoundVariableKind"],["impl Clone for FuncKind"],["impl Clone for FluxLocalDefId"],["impl Clone for Place"],["impl Clone for ConstInfo"],["impl Clone for GeneratorObligPredicate"],["impl Clone for Loc"],["impl Clone for GenericPredicates"],["impl Clone for ExprKind"],["impl Clone for ESpan"],["impl Clone for QueryErr"],["impl Clone for VariantSig"],["impl Clone for Ty"],["impl Clone for RefinedBy"],["impl Clone for Sort"],["impl Clone for Generics"],["impl Clone for MutTy"],["impl Clone for ValueConst"],["impl Clone for FluxOwnerId"],["impl Clone for FreeRegion"],["impl<T: Clone> Clone for Binder<T>"],["impl Clone for PointerCast"],["impl Clone for Ident"],["impl Clone for BinOp"],["impl<T: Clone> Clone for Binder<T>"],["impl Clone for AdtDef"],["impl Clone for AliasKind"],["impl Clone for KVarArgs"],["impl Clone for ExprS"],["impl Clone for FhirId"],["impl Clone for AliasKind"],["impl Clone for ClauseKind"],["impl Clone for TypeBinding"],["impl Clone for Ty"],["impl Clone for RefineParam"],["impl Clone for Index"],["impl Clone for Res"],["impl<T: Internable + ?Sized> Clone for Interned<T>"],["impl Clone for HoleKind"],["impl Clone for BoundRegion"],["impl Clone for EVarCxId"],["impl Clone for TraitPredicate"],["impl<T: Clone> Clone for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Clone for FnSig"],["impl Clone for Func"],["impl Clone for KVar"],["impl Clone for TyKind"],["impl Clone for GenericArg"],["impl Clone for ParamKind"],["impl Clone for FuncSort"],["impl<T: Clone> Clone for EarlyBinder<T>"],["impl Clone for PolyFuncSort"],["impl Clone for Invariant"],["impl Clone for TyS"],["impl Clone for AliasTy"],["impl Clone for GenericArg"],["impl Clone for RefineArg"],["impl Clone for Path"],["impl Clone for EVid"],["impl Clone for FnOutput"],["impl Clone for PolyFuncSort"],["impl Clone for SpanData"],["impl Clone for Lit"],["impl Clone for RefineParam"],["impl Clone for GenericParamKind"],["impl Clone for Var"],["impl<T: Clone> Clone for Opaqueness<T>"],["impl Clone for PlaceElem"],["impl Clone for UnsupportedReason"],["impl Clone for FnSig"],["impl Clone for SortCtor"],["impl Clone for ItemLocalId"],["impl Clone for BaseTy"],["impl Clone for WeakKind"],["impl Clone for Region"],["impl Clone for Constraint"],["impl Clone for LocalDecl"],["impl Clone for AdtDef"],["impl Clone for BaseTy"],["impl Clone for SortVar"],["impl Clone for EVar"],["impl Clone for SortVid"],["impl Clone for CastKind"],["impl Clone for GenericParamDefKind"],["impl Clone for PtrKind"]],
    -"flux_refineck":[["impl Clone for KVarEncoding"],["impl<'a> Clone for TypeEnv<'a>"],["impl Clone for Binding"],["impl Clone for StateData"],["impl Clone for Env"],["impl Clone for TagIdx"],["impl Clone for NodePtr"],["impl Clone for LocKind"],["impl Clone for Tag"],["impl Clone for KVarDecl"],["impl Clone for PlaceIndex"],["impl Clone for Point"],["impl Clone for State"],["impl Clone for PlacesTree"],["impl Clone for PlaceNode"],["impl Clone for ConstrReason"],["impl Clone for CheckerConfig"],["impl Clone for ValueIndex"]],
    +"flux_middle":[["impl Clone for PlaceElem"],["impl Clone for FluxLocalDefId"],["impl Clone for FnSig"],["impl Clone for BinOp"],["impl Clone for WeakKind"],["impl Clone for TraitRef"],["impl Clone for SortVar"],["impl<T: Internable + ?Sized> Clone for Interned<T>"],["impl Clone for Invariant"],["impl Clone for InferMode"],["impl Clone for Clause"],["impl Clone for FnSig"],["impl Clone for TraitBoundModifier"],["impl Clone for FluxOwnerId"],["impl Clone for Path"],["impl Clone for Var"],["impl Clone for SpanData"],["impl Clone for Generics"],["impl Clone for Region"],["impl<T: Clone> Clone for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Clone for RefineArg"],["impl Clone for Name"],["impl Clone for SortVid"],["impl Clone for Sort"],["impl Clone for AdtDef"],["impl Clone for EVarCxId"],["impl Clone for ParamKind"],["impl Clone for Constraint"],["impl Clone for Path"],["impl Clone for ItemLocalId"],["impl Clone for ExprKind"],["impl Clone for GeneratorObligPredicate"],["impl Clone for ProjectionPredicate"],["impl Clone for RefineParam"],["impl Clone for QPath"],["impl<T: Clone> Clone for EarlyBinder<T>"],["impl Clone for Place"],["impl Clone for BoundVariableKind"],["impl Clone for KVar"],["impl Clone for FuncSort"],["impl Clone for FreeRegion"],["impl Clone for Func"],["impl Clone for FuncKind"],["impl Clone for Name"],["impl Clone for Const"],["impl Clone for AdtDef"],["impl Clone for ValueConst"],["impl<T: Clone> Clone for EarlyBinder<T>"],["impl Clone for TypeBinding"],["impl Clone for HoleKind"],["impl Clone for MutTy"],["impl Clone for PolyFuncSort"],["impl Clone for Sort"],["impl Clone for PolyFuncSort"],["impl Clone for QueryErr"],["impl Clone for PtrKind"],["impl Clone for FhirId"],["impl Clone for ClauseKind"],["impl Clone for GenericParamDef"],["impl Clone for CastKind"],["impl Clone for AliasTy"],["impl Clone for GenericArg"],["impl Clone for TyKind"],["impl Clone for RefineParam"],["impl<T: Clone> Clone for Binder<T>"],["impl Clone for EVid"],["impl Clone for BoundVariableKind"],["impl Clone for TyKind"],["impl Clone for SortCtor"],["impl<T: Clone> Clone for Binder<T>"],["impl Clone for ExprKind"],["impl Clone for Lifetime"],["impl Clone for VariantSig"],["impl Clone for ArrayLen"],["impl Clone for Ty"],["impl Clone for Loc"],["impl Clone for AliasKind"],["impl<T: Clone> Clone for Opaqueness<T>"],["impl Clone for Lit"],["impl Clone for FnTraitPredicate"],["impl Clone for KVid"],["impl Clone for AliasKind"],["impl Clone for LocalDecl"],["impl Clone for SortCtor"],["impl Clone for PointerCast"],["impl Clone for Index"],["impl Clone for GenericParamKind"],["impl Clone for UnsupportedReason"],["impl Clone for Ty"],["impl Clone for ExprS"],["impl Clone for BaseTyKind"],["impl Clone for BaseTy"],["impl Clone for FnOutput"],["impl Clone for TyS"],["impl Clone for FuncSort"],["impl Clone for GenericArg"],["impl Clone for RefinedBy"],["impl Clone for GenericPredicates"],["impl Clone for TraitPredicate"],["impl Clone for BaseTy"],["impl Clone for ConstInfo"],["impl Clone for EVar"],["impl Clone for Res"],["impl Clone for ESpan"],["impl Clone for GenericParamDefKind"],["impl Clone for BoundRegion"],["impl Clone for Ident"],["impl Clone for KVarArgs"],["impl Clone for Expr"]],
    +"flux_refineck":[["impl<'a> Clone for TypeEnv<'a>"],["impl Clone for LocKind"],["impl Clone for ValueIndex"],["impl Clone for TagIdx"],["impl Clone for KVid"],["impl Clone for PlaceIndex"],["impl Clone for Var"],["impl Clone for NodePtr"],["impl Clone for GlobalVar"],["impl Clone for ConstrReason"],["impl Clone for StateData"],["impl Clone for Point"],["impl Clone for KVarEncoding"],["impl Clone for Binding"],["impl Clone for CheckerConfig"],["impl Clone for PlacesTree"],["impl Clone for State"],["impl Clone for KVarDecl"],["impl Clone for LocalVar"],["impl Clone for Env"],["impl Clone for Tag"],["impl Clone for PlaceNode"]],
     "flux_syntax":[["impl Clone for Token"],["impl Clone for BindKind"],["impl Clone for Expr"],["impl Clone for NodeId"],["impl Clone for BaseSort"],["impl Clone for QPathExpr"],["impl Clone for ArrayLen"],["impl Clone for UnOp"],["impl Clone for BinOp"],["impl Clone for ExprKind"],["impl Clone for Location"],["impl Clone for Async"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/cmp/trait.Eq.js b/doc/trait.impl/core/cmp/trait.Eq.js
    index fae9c0bfe1..64ae91d4b2 100644
    --- a/doc/trait.impl/core/cmp/trait.Eq.js
    +++ b/doc/trait.impl/core/cmp/trait.Eq.js
    @@ -1,9 +1,9 @@
     (function() {var implementors = {
     "flux_desugar":[["impl Eq for ResKey"],["impl Eq for ScopeId"]],
     "flux_driver":[["impl Eq for IgnoreKey"]],
    -"flux_fixpoint":[["impl Eq for Name"],["impl Eq for UnOp"],["impl Eq for Sign"],["impl Eq for Constant"],["impl Eq for BinOp"],["impl Eq for ConstName"],["impl Eq for KVid"],["impl Eq for BigInt"]],
    +"flux_fixpoint":[["impl Eq for Constant"],["impl Eq for BinOp"],["impl Eq for UnOp"],["impl Eq for Sign"],["impl Eq for BigInt"]],
     "flux_macros":[["impl Eq for DiagnosticDeriveKind"]],
    -"flux_middle":[["impl Eq for ProjectionPredicate"],["impl Eq for ProjectionPredicate"],["impl<T: Internable> Eq for Interned<T>"],["impl Eq for Place"],["impl Eq for FhirId"],["impl Eq for SortVar"],["impl Eq for ExprKind"],["impl Eq for FuncSort"],["impl Eq for PolyFuncSort"],["impl Eq for Region"],["impl Eq for BoundVariableKind"],["impl Eq for SortCtor"],["impl Eq for Const"],["impl Eq for AdtDef"],["impl Eq for SortVid"],["impl Eq for KVar"],["impl Eq for AliasTy"],["impl Eq for HoleKind"],["impl Eq for Precedence"],["impl Eq for Name"],["impl Eq for GenericParamDefKind"],["impl Eq for ValueConst"],["impl Eq for FnSig"],["impl Eq for TyKind"],["impl Eq for GenericArg"],["impl Eq for Var"],["impl Eq for EVarCxId"],["impl Eq for VariantDef"],["impl Eq for SortCtor"],["impl<T: Eq> Eq for Binder<T>"],["impl Eq for TyS"],["impl<T: Eq> Eq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Eq for Clause"],["impl<T: Eq> Eq for Binder<T>"],["impl Eq for KVid"],["impl Eq for Invariant"],["impl Eq for GenericParamDef"],["impl Eq for Clause"],["impl Eq for Sort"],["impl<T> Eq for Interned<[T]>where\n    [T]: Internable,"],["impl Eq for BinOp"],["impl Eq for TraitPredicate"],["impl Eq for AliasKind"],["impl Eq for FluxLocalDefId"],["impl Eq for ESpan"],["impl Eq for GenericArg"],["impl Eq for Name"],["impl Eq for Ty"],["impl Eq for TraitPredicate"],["impl Eq for FreeRegion"],["impl Eq for RefineParam"],["impl Eq for FluxOwnerId"],["impl Eq for PlaceElem"],["impl Eq for AdtDefData"],["impl Eq for ClauseKind"],["impl Eq for InferMode"],["impl Eq for FieldDef"],["impl Eq for ClauseKind"],["impl Eq for TyKind"],["impl Eq for TraitRef"],["impl Eq for BoundVariableKind"],["impl Eq for Loc"],["impl Eq for FuncSort"],["impl Eq for AliasKind"],["impl Eq for PolyFuncSort"],["impl Eq for TyS"],["impl Eq for ItemLocalId"],["impl Eq for Constraint"],["impl Eq for VariantSig"],["impl Eq for FuncKind"],["impl Eq for EVid"],["impl Eq for Sort"],["impl Eq for BoundRegion"],["impl Eq for PtrKind"],["impl Eq for EVar"],["impl Eq for Index"],["impl Eq for ExprS"],["impl Eq for Path"],["impl Eq for AdtDefData"],["impl Eq for Res"],["impl Eq for WeakKind"],["impl Eq for AdtDef"],["impl Eq for TraitRef"],["impl Eq for GeneratorObligPredicate"],["impl Eq for BaseTy"],["impl Eq for GenericParamDefKind"],["impl Eq for AliasTy"],["impl Eq for SpanData"],["impl Eq for GenericParamDef"],["impl Eq for FnTraitPredicate"]],
    -"flux_refineck":[["impl Eq for Scope"],["impl Eq for StateData"],["impl Eq for PlaceIndex"],["impl Eq for ValueIndex"],["impl Eq for Tag"],["impl Eq for TagIdx"],["impl Eq for Point"],["impl Eq for State"],["impl Eq for Item<'_>"],["impl Eq for LocKind"],["impl Eq for ConstrReason"],["impl Eq for Key"]],
    +"flux_middle":[["impl Eq for AdtDef"],["impl<T: Eq> Eq for Binder<T>"],["impl Eq for GenericArg"],["impl Eq for Place"],["impl Eq for TyKind"],["impl Eq for ValueConst"],["impl Eq for GeneratorObligPredicate"],["impl Eq for AdtDef"],["impl Eq for ClauseKind"],["impl Eq for SortVar"],["impl Eq for KVid"],["impl Eq for Clause"],["impl Eq for Sort"],["impl Eq for Invariant"],["impl Eq for GenericParamDef"],["impl Eq for AliasTy"],["impl Eq for BoundRegion"],["impl Eq for AdtDefData"],["impl Eq for GenericParamDef"],["impl Eq for EVarCxId"],["impl Eq for ExprS"],["impl Eq for PlaceElem"],["impl Eq for ProjectionPredicate"],["impl Eq for FreeRegion"],["impl Eq for Loc"],["impl Eq for FuncSort"],["impl Eq for Name"],["impl Eq for FuncSort"],["impl Eq for BoundVariableKind"],["impl Eq for ESpan"],["impl Eq for TraitRef"],["impl Eq for VariantDef"],["impl Eq for SortVid"],["impl Eq for TyS"],["impl Eq for PolyFuncSort"],["impl Eq for Constraint"],["impl Eq for ClauseKind"],["impl Eq for AliasKind"],["impl<T: Internable> Eq for Interned<T>"],["impl Eq for Precedence"],["impl Eq for Path"],["impl Eq for Ty"],["impl<T> Eq for Interned<[T]>where\n    [T]: Internable,"],["impl Eq for RefineParam"],["impl Eq for SpanData"],["impl Eq for VariantSig"],["impl Eq for SortCtor"],["impl Eq for Const"],["impl Eq for Name"],["impl Eq for Res"],["impl Eq for PolyFuncSort"],["impl Eq for HoleKind"],["impl Eq for Clause"],["impl Eq for GenericArg"],["impl Eq for BinOp"],["impl Eq for AliasKind"],["impl Eq for AliasTy"],["impl Eq for InferMode"],["impl Eq for Sort"],["impl Eq for Index"],["impl Eq for TyS"],["impl Eq for FluxLocalDefId"],["impl Eq for GenericParamDefKind"],["impl Eq for SortCtor"],["impl Eq for FuncKind"],["impl Eq for ProjectionPredicate"],["impl<T: Eq> Eq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Eq for TraitRef"],["impl Eq for GenericParamDefKind"],["impl Eq for FluxOwnerId"],["impl Eq for BoundVariableKind"],["impl Eq for TyKind"],["impl Eq for FhirId"],["impl Eq for Var"],["impl Eq for ItemLocalId"],["impl Eq for KVar"],["impl Eq for TraitPredicate"],["impl Eq for ExprKind"],["impl Eq for Region"],["impl Eq for PtrKind"],["impl Eq for WeakKind"],["impl Eq for EVar"],["impl Eq for BaseTy"],["impl Eq for FnSig"],["impl Eq for FieldDef"],["impl Eq for EVid"],["impl Eq for FnTraitPredicate"],["impl Eq for TraitPredicate"],["impl<T: Eq> Eq for Binder<T>"],["impl Eq for AdtDefData"]],
    +"flux_refineck":[["impl Eq for State"],["impl Eq for Point"],["impl Eq for GlobalVar"],["impl Eq for Scope"],["impl Eq for LocalVar"],["impl Eq for Key"],["impl Eq for StateData"],["impl Eq for Item<'_>"],["impl Eq for LocKind"],["impl Eq for ValueIndex"],["impl Eq for KVid"],["impl Eq for PlaceIndex"],["impl Eq for TagIdx"],["impl Eq for ConstrReason"],["impl Eq for Tag"]],
     "flux_syntax":[["impl Eq for NodeId"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/cmp/trait.Ord.js b/doc/trait.impl/core/cmp/trait.Ord.js
    index 230e4845aa..b171199b59 100644
    --- a/doc/trait.impl/core/cmp/trait.Ord.js
    +++ b/doc/trait.impl/core/cmp/trait.Ord.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl Ord for KVid"],["impl Ord for Name"],["impl Ord for BigInt"],["impl Ord for ConstName"],["impl Ord for Sign"]],
    -"flux_middle":[["impl Ord for EVarCxId"],["impl Ord for EVar"],["impl<T> Ord for List<T>where\n    T: Ord,\n    [T]: Internable,"],["impl Ord for Precedence"],["impl<T: Ord + Internable> Ord for Interned<T>"],["impl Ord for Var"],["impl Ord for KVid"],["impl Ord for Path"],["impl Ord for WeakKind"],["impl Ord for Name"],["impl Ord for Loc"],["impl Ord for EVid"],["impl Ord for ItemLocalId"],["impl Ord for SortVid"],["impl Ord for Name"]],
    -"flux_refineck":[["impl Ord for TagIdx"],["impl Ord for Item<'_>"],["impl Ord for PlaceIndex"],["impl Ord for ValueIndex"]]
    +"flux_fixpoint":[["impl Ord for BigInt"],["impl Ord for Sign"]],
    +"flux_middle":[["impl Ord for EVar"],["impl<T> Ord for List<T>where\n    T: Ord,\n    [T]: Internable,"],["impl Ord for WeakKind"],["impl Ord for EVarCxId"],["impl Ord for SortVid"],["impl Ord for Loc"],["impl Ord for KVid"],["impl Ord for Precedence"],["impl<T: Ord + Internable> Ord for Interned<T>"],["impl Ord for Name"],["impl Ord for Path"],["impl Ord for Var"],["impl Ord for ItemLocalId"],["impl Ord for Name"],["impl Ord for EVid"]],
    +"flux_refineck":[["impl Ord for ValueIndex"],["impl Ord for LocalVar"],["impl Ord for PlaceIndex"],["impl Ord for KVid"],["impl Ord for TagIdx"],["impl Ord for GlobalVar"],["impl Ord for Item<'_>"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/cmp/trait.PartialEq.js b/doc/trait.impl/core/cmp/trait.PartialEq.js
    index 4dd43d730e..9b35b0f4ce 100644
    --- a/doc/trait.impl/core/cmp/trait.PartialEq.js
    +++ b/doc/trait.impl/core/cmp/trait.PartialEq.js
    @@ -1,9 +1,9 @@
     (function() {var implementors = {
     "flux_desugar":[["impl PartialEq for ScopeId"],["impl PartialEq for ResKey"]],
     "flux_driver":[["impl PartialEq for IgnoreKey"]],
    -"flux_fixpoint":[["impl PartialEq for ConstName"],["impl PartialEq for Sign"],["impl PartialEq for UnOp"],["impl PartialEq for Constant"],["impl PartialEq for Name"],["impl PartialEq for KVid"],["impl PartialEq for BigInt"],["impl PartialEq for BinOp"]],
    +"flux_fixpoint":[["impl PartialEq for BinOp"],["impl PartialEq for UnOp"],["impl PartialEq for Constant"],["impl PartialEq for Sign"],["impl PartialEq for BigInt"]],
     "flux_macros":[["impl PartialEq for DiagnosticDeriveKind"],["impl PartialEq for SuggestionKind"]],
    -"flux_middle":[["impl PartialEq for WeakKind"],["impl PartialEq for Invariant"],["impl PartialEq for AliasKind"],["impl PartialEq for GenericParamDef"],["impl PartialEq for TyS"],["impl PartialEq for InferMode"],["impl PartialEq for ProjectionPredicate"],["impl PartialEq for Var"],["impl PartialEq for ClauseKind"],["impl PartialEq for PlaceElem"],["impl PartialEq for Const"],["impl PartialEq for FieldDef"],["impl PartialEq for Ty"],["impl PartialEq for Region"],["impl PartialEq for SortVid"],["impl PartialEq for GenericArg"],["impl PartialEq for FuncKind"],["impl PartialEq for GenericParamDefKind"],["impl PartialEq for PtrKind"],["impl PartialEq for TyKind"],["impl<T: Internable> PartialEq for Interned<T>"],["impl PartialEq for AliasKind"],["impl<T> PartialEq for Interned<[T]>where\n    [T]: Internable,"],["impl PartialEq for ItemLocalId"],["impl PartialEq for Clause"],["impl PartialEq for FluxOwnerId"],["impl PartialEq for Constraint"],["impl PartialEq for Sort"],["impl PartialEq for FuncSort"],["impl PartialEq for TraitPredicate"],["impl PartialEq for KVid"],["impl PartialEq for Name"],["impl PartialEq for VariantDef"],["impl PartialEq for ESpan"],["impl PartialEq for Loc"],["impl PartialEq for Sort"],["impl PartialEq for Name"],["impl PartialEq for FnSig"],["impl PartialEq for BoundRegion"],["impl PartialEq for FnTraitPredicate"],["impl PartialEq for AdtDefData"],["impl PartialEq for PolyFuncSort"],["impl PartialEq for ProjectionPredicate"],["impl PartialEq for GenericParamDefKind"],["impl PartialEq for AdtDef"],["impl PartialEq for FuncSort"],["impl PartialEq for BaseTy"],["impl PartialEq for BinOp"],["impl PartialEq for GenericArg"],["impl PartialEq for Path"],["impl<T: PartialEq> PartialEq for Binder<T>"],["impl PartialEq for GeneratorObligPredicate"],["impl PartialEq for ValueConst"],["impl PartialEq for BoundVariableKind"],["impl PartialEq for ExprKind"],["impl PartialEq for VariantSig"],["impl PartialEq for KVar"],["impl PartialEq for EVarCxId"],["impl PartialEq for AdtDefData"],["impl PartialEq for ExprS"],["impl PartialEq for AdtDef"],["impl PartialEq for FhirId"],["impl PartialEq for TyKind"],["impl PartialEq for TraitRef"],["impl PartialEq for SortCtor"],["impl PartialEq for TraitPredicate"],["impl PartialEq for SortVar"],["impl PartialEq for BoundVariableKind"],["impl PartialEq for RefineParam"],["impl PartialEq for FreeRegion"],["impl PartialEq for Clause"],["impl PartialEq for Index"],["impl PartialEq for AliasTy"],["impl PartialEq for FluxLocalDefId"],["impl PartialEq for Res"],["impl PartialEq for PolyFuncSort"],["impl PartialEq for ClauseKind"],["impl PartialEq for SortCtor"],["impl PartialEq for TraitRef"],["impl PartialEq for GenericParamDef"],["impl PartialEq for TyS"],["impl PartialEq for Precedence"],["impl PartialEq for SpanData"],["impl PartialEq for EVar"],["impl PartialEq for HoleKind"],["impl<T: PartialEq> PartialEq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl PartialEq for Place"],["impl PartialEq for EVid"],["impl<T: PartialEq> PartialEq for Binder<T>"],["impl PartialEq for AliasTy"]],
    -"flux_refineck":[["impl PartialEq for Item<'_>"],["impl PartialEq for Tag"],["impl PartialEq for StateData"],["impl PartialEq for ValueIndex"],["impl PartialEq for Scope"],["impl PartialEq for Key"],["impl PartialEq for ConstrReason"],["impl PartialEq for Point"],["impl PartialEq for State"],["impl PartialEq for PlaceIndex"],["impl PartialEq for LocKind"],["impl PartialEq for TagIdx"]],
    +"flux_middle":[["impl PartialEq for ValueConst"],["impl PartialEq for KVid"],["impl PartialEq for Index"],["impl PartialEq for Sort"],["impl PartialEq for ExprS"],["impl PartialEq for AdtDefData"],["impl PartialEq for FuncKind"],["impl PartialEq for HoleKind"],["impl PartialEq for BinOp"],["impl PartialEq for Var"],["impl PartialEq for FluxOwnerId"],["impl<T: PartialEq> PartialEq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl PartialEq for Place"],["impl PartialEq for FhirId"],["impl PartialEq for BaseTy"],["impl PartialEq for VariantDef"],["impl PartialEq for Path"],["impl PartialEq for KVar"],["impl PartialEq for ClauseKind"],["impl PartialEq for Res"],["impl PartialEq for AliasTy"],["impl PartialEq for Region"],["impl PartialEq for PolyFuncSort"],["impl PartialEq for TyKind"],["impl PartialEq for EVarCxId"],["impl PartialEq for PolyFuncSort"],["impl PartialEq for Invariant"],["impl<T: Internable> PartialEq for Interned<T>"],["impl PartialEq for PtrKind"],["impl PartialEq for AliasTy"],["impl PartialEq for ProjectionPredicate"],["impl PartialEq for Name"],["impl PartialEq for ExprKind"],["impl PartialEq for AliasKind"],["impl PartialEq for SortCtor"],["impl PartialEq for ItemLocalId"],["impl PartialEq for ClauseKind"],["impl PartialEq for Const"],["impl<T> PartialEq for Interned<[T]>where\n    [T]: Internable,"],["impl PartialEq for BoundRegion"],["impl PartialEq for BoundVariableKind"],["impl PartialEq for InferMode"],["impl PartialEq for FnTraitPredicate"],["impl PartialEq for AdtDefData"],["impl PartialEq for GenericParamDef"],["impl PartialEq for FreeRegion"],["impl PartialEq for VariantSig"],["impl PartialEq for ESpan"],["impl PartialEq for TraitRef"],["impl PartialEq for AdtDef"],["impl PartialEq for TraitRef"],["impl<T: PartialEq> PartialEq for Binder<T>"],["impl PartialEq for WeakKind"],["impl PartialEq for AdtDef"],["impl PartialEq for Clause"],["impl PartialEq for PlaceElem"],["impl PartialEq for AliasKind"],["impl PartialEq for GenericArg"],["impl PartialEq for ProjectionPredicate"],["impl<T: PartialEq> PartialEq for Binder<T>"],["impl PartialEq for EVid"],["impl PartialEq for FuncSort"],["impl PartialEq for SpanData"],["impl PartialEq for Constraint"],["impl PartialEq for GenericArg"],["impl PartialEq for FnSig"],["impl PartialEq for Clause"],["impl PartialEq for Ty"],["impl PartialEq for GenericParamDefKind"],["impl PartialEq for TyKind"],["impl PartialEq for TyS"],["impl PartialEq for EVar"],["impl PartialEq for TyS"],["impl PartialEq for SortCtor"],["impl PartialEq for SortVar"],["impl PartialEq for FieldDef"],["impl PartialEq for Sort"],["impl PartialEq for RefineParam"],["impl PartialEq for BoundVariableKind"],["impl PartialEq for GenericParamDefKind"],["impl PartialEq for FuncSort"],["impl PartialEq for TraitPredicate"],["impl PartialEq for GeneratorObligPredicate"],["impl PartialEq for Precedence"],["impl PartialEq for Loc"],["impl PartialEq for FluxLocalDefId"],["impl PartialEq for SortVid"],["impl PartialEq for TraitPredicate"],["impl PartialEq for Name"],["impl PartialEq for GenericParamDef"]],
    +"flux_refineck":[["impl PartialEq for Scope"],["impl PartialEq for ConstrReason"],["impl PartialEq for GlobalVar"],["impl PartialEq for StateData"],["impl PartialEq for Item<'_>"],["impl PartialEq for LocKind"],["impl PartialEq for LocalVar"],["impl PartialEq for Point"],["impl PartialEq for KVid"],["impl PartialEq for Tag"],["impl PartialEq for State"],["impl PartialEq for Key"],["impl PartialEq for ValueIndex"],["impl PartialEq for TagIdx"],["impl PartialEq for PlaceIndex"]],
     "flux_syntax":[["impl PartialEq for NodeId"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/cmp/trait.PartialOrd.js b/doc/trait.impl/core/cmp/trait.PartialOrd.js
    index e1a36883d7..87e475fab9 100644
    --- a/doc/trait.impl/core/cmp/trait.PartialOrd.js
    +++ b/doc/trait.impl/core/cmp/trait.PartialOrd.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl PartialOrd for KVid"],["impl PartialOrd for Name"],["impl PartialOrd for Sign"],["impl PartialOrd for BigInt"],["impl PartialOrd for ConstName"]],
    -"flux_middle":[["impl PartialOrd for WeakKind"],["impl PartialOrd for EVarCxId"],["impl PartialOrd for Precedence"],["impl<T> PartialOrd for List<T>where\n    T: PartialOrd,\n    [T]: Internable,"],["impl<T: PartialOrd + Internable> PartialOrd for Interned<T>"],["impl PartialOrd for Name"],["impl PartialOrd for SortVid"],["impl PartialOrd for Path"],["impl PartialOrd for Var"],["impl PartialOrd for EVar"],["impl PartialOrd for KVid"],["impl PartialOrd for EVid"],["impl PartialOrd for Name"],["impl PartialOrd for Loc"],["impl PartialOrd for ItemLocalId"]],
    -"flux_refineck":[["impl PartialOrd for ValueIndex"],["impl PartialOrd for PlaceIndex"],["impl PartialOrd for Item<'_>"],["impl PartialOrd for TagIdx"]]
    +"flux_fixpoint":[["impl PartialOrd for Sign"],["impl PartialOrd for BigInt"]],
    +"flux_middle":[["impl PartialOrd for KVid"],["impl PartialOrd for WeakKind"],["impl PartialOrd for EVar"],["impl PartialOrd for Var"],["impl PartialOrd for SortVid"],["impl PartialOrd for Precedence"],["impl PartialOrd for Name"],["impl PartialOrd for Name"],["impl<T> PartialOrd for List<T>where\n    T: PartialOrd,\n    [T]: Internable,"],["impl PartialOrd for EVarCxId"],["impl PartialOrd for Path"],["impl PartialOrd for ItemLocalId"],["impl PartialOrd for EVid"],["impl<T: PartialOrd + Internable> PartialOrd for Interned<T>"],["impl PartialOrd for Loc"]],
    +"flux_refineck":[["impl PartialOrd for TagIdx"],["impl PartialOrd for LocalVar"],["impl PartialOrd for KVid"],["impl PartialOrd for ValueIndex"],["impl PartialOrd for GlobalVar"],["impl PartialOrd for PlaceIndex"],["impl PartialOrd for Item<'_>"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/convert/trait.From.js b/doc/trait.impl/core/convert/trait.From.js
    index 350f7ceb9e..b3694d35f3 100644
    --- a/doc/trait.impl/core/convert/trait.From.js
    +++ b/doc/trait.impl/core/convert/trait.From.js
    @@ -1,8 +1,8 @@
     (function() {var implementors = {
    -"flux_desugar":[["impl From<BindKind> for Param"],["impl From<Res> for ResEntry"]],
    +"flux_desugar":[["impl From<Res> for ResEntry"],["impl From<BindKind> for Param"]],
     "flux_driver":[["impl From<ParseError> for SyntaxErr"]],
    -"flux_fixpoint":[["impl From<u128> for BigInt"],["impl From<usize> for BigInt"],["impl From<KVid> for usize"],["impl From<u32> for Name"],["impl From<Name> for usize"],["impl From<i32> for Constant"],["impl From<bool> for Constant"],["impl From<ConstName> for Expr"],["impl From<ConstName> for u32"],["impl From<usize> for Name"],["impl From<i32> for BigInt"],["impl From<usize> for KVid"],["impl From<Name> for u32"],["impl From<usize> for Constant"],["impl From<ConstName> for usize"],["impl From<i128> for BigInt"],["impl From<u32> for KVid"],["impl From<u128> for Constant"],["impl From<Name> for Expr"],["impl From<KVid> for u32"],["impl From<i128> for Constant"],["impl From<usize> for ConstName"],["impl From<u32> for ConstName"]],
    +"flux_fixpoint":[["impl From<u128> for BigInt"],["impl From<u128> for Constant"],["impl From<i32> for Constant"],["impl From<i32> for BigInt"],["impl From<usize> for Constant"],["impl From<bool> for Constant"],["impl From<usize> for BigInt"],["impl From<i128> for BigInt"],["impl From<i128> for Constant"]],
     "flux_macros":[["impl From<Error> for DiagnosticDeriveError"]],
    -"flux_middle":[["impl From<u32> for ItemLocalId"],["impl From<KVid> for usize"],["impl From<Name> for Loc"],["impl From<Name> for usize"],["impl From<LocalDefId> for FluxLocalDefId"],["impl From<Mutability> for WeakKind"],["impl From<Local> for Loc"],["impl From<usize> for EVid"],["impl From<u32> for KVid"],["impl From<usize> for SortVid"],["impl From<ValueConst> for Index"],["impl From<EVid> for usize"],["impl From<i32> for Expr"],["impl From<PolyFuncSort> for Sort"],["impl From<ItemLocalId> for u32"],["impl From<FluxOwnerId> for FluxLocalDefId"],["impl From<Name> for usize"],["impl From<OwnerId> for FluxOwnerId"],["impl From<Loc> for Path"],["impl From<&Interned<ExprS>> for Expr"],["impl From<SortVid> for u32"],["impl From<usize> for SortVar"],["impl From<usize> for Const"],["impl From<ErrorGuaranteed> for QueryErr"],["impl From<usize> for KVid"],["impl From<u32> for Name"],["impl<'a, 'tcx> From<&'a Statement<'tcx>> for UnsupportedMir"],["impl From<Name> for Expr"],["impl<T> From<Vec<T>> for Interned<[T]>where\n    [T]: Internable,"],["impl<'a, 'tcx> From<&'a Terminator<'tcx>> for UnsupportedMir"],["impl From<Name> for u32"],["impl From<KVid> for u32"],["impl From<Path> for Expr"],["impl From<usize> for ItemLocalId"],["impl<T> From<&[T]> for Interned<[T]>where\n    [T]: Internable,\n    T: Clone,"],["impl From<usize> for Name"],["impl From<Name> for u32"],["impl From<QPath> for BaseTy"],["impl From<(Interned<ExprS>, TupleTree<bool>)> for Index"],["impl From<u32> for EVid"],["impl From<u32> for SortVid"],["impl From<EVid> for u32"],["impl From<u32> for Name"],["impl From<Interned<ExprS>> for Index"],["impl From<usize> for Name"],["impl From<ItemLocalId> for usize"],["impl From<SortVid> for usize"]],
    -"flux_refineck":[["impl From<ValueIndex> for usize"],["impl From<PlaceIndex> for usize"],["impl From<ValueIndex> for u32"],["impl From<usize> for TagIdx"],["impl From<UnsolvedEvar> for CheckerErrKind"],["impl From<u32> for PlaceIndex"],["impl From<u32> for TagIdx"],["impl From<usize> for ValueIndex"],["impl From<QueryErr> for CheckerErrKind"],["impl From<PlaceIndex> for u32"],["impl From<usize> for PlaceIndex"],["impl From<u32> for ValueIndex"],["impl From<TagIdx> for usize"],["impl From<TagIdx> for u32"]]
    +"flux_middle":[["impl From<u32> for ItemLocalId"],["impl From<QPath> for BaseTy"],["impl From<ItemLocalId> for usize"],["impl From<Name> for usize"],["impl From<Path> for Expr"],["impl From<usize> for EVid"],["impl From<Mutability> for WeakKind"],["impl From<usize> for Name"],["impl From<u32> for Name"],["impl From<usize> for Const"],["impl From<Name> for usize"],["impl From<u32> for Name"],["impl From<usize> for SortVar"],["impl From<Name> for u32"],["impl From<(Interned<ExprS>, TupleTree<bool>)> for Index"],["impl From<i32> for Expr"],["impl From<Loc> for Path"],["impl<T> From<Vec<T>> for Interned<[T]>where\n    [T]: Internable,"],["impl<'a, 'tcx> From<&'a Statement<'tcx>> for UnsupportedMir"],["impl From<Name> for Loc"],["impl From<usize> for KVid"],["impl From<&Interned<ExprS>> for Expr"],["impl From<EVid> for usize"],["impl From<EVid> for u32"],["impl From<KVid> for u32"],["impl From<u32> for SortVid"],["impl From<Interned<ExprS>> for Index"],["impl From<u32> for KVid"],["impl From<OwnerId> for FluxOwnerId"],["impl From<usize> for SortVid"],["impl From<u32> for EVid"],["impl From<FluxOwnerId> for FluxLocalDefId"],["impl From<usize> for Name"],["impl From<usize> for ItemLocalId"],["impl From<Name> for u32"],["impl From<ErrorGuaranteed> for QueryErr"],["impl From<SortVid> for usize"],["impl From<Name> for Expr"],["impl<T> From<&[T]> for Interned<[T]>where\n    [T]: Internable,\n    T: Clone,"],["impl From<PolyFuncSort> for Sort"],["impl From<KVid> for usize"],["impl From<Local> for Loc"],["impl From<ValueConst> for Index"],["impl From<ItemLocalId> for u32"],["impl From<SortVid> for u32"],["impl<'a, 'tcx> From<&'a Terminator<'tcx>> for UnsupportedMir"],["impl From<LocalDefId> for FluxLocalDefId"]],
    +"flux_refineck":[["impl From<usize> for PlaceIndex"],["impl From<GlobalVar> for Var"],["impl From<usize> for KVid"],["impl From<TagIdx> for u32"],["impl From<ValueIndex> for usize"],["impl From<GlobalVar> for u32"],["impl From<UnsolvedEvar> for CheckerErrKind"],["impl From<ValueIndex> for u32"],["impl From<LocalVar> for usize"],["impl From<usize> for LocalVar"],["impl From<QueryErr> for CheckerErrKind"],["impl From<PlaceIndex> for u32"],["impl From<KVid> for usize"],["impl From<TagIdx> for usize"],["impl From<usize> for TagIdx"],["impl From<usize> for ValueIndex"],["impl From<LocalVar> for u32"],["impl From<u32> for PlaceIndex"],["impl From<GlobalVar> for usize"],["impl From<u32> for ValueIndex"],["impl From<PlaceIndex> for usize"],["impl From<LocalVar> for Var"],["impl From<u32> for GlobalVar"],["impl From<KVid> for u32"],["impl From<u32> for LocalVar"],["impl From<u32> for KVid"],["impl From<usize> for GlobalVar"],["impl From<u32> for TagIdx"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/default/trait.Default.js b/doc/trait.impl/core/default/trait.Default.js
    index d865657946..95fdb2ad2b 100644
    --- a/doc/trait.impl/core/default/trait.Default.js
    +++ b/doc/trait.impl/core/default/trait.Default.js
    @@ -5,7 +5,7 @@
     "flux_driver":[["impl Default for FluxCallbacks"]],
     "flux_fhir_analysis":[["impl Default for XiCtxt"]],
     "flux_fixpoint":[["impl Default for Stats"]],
    -"flux_middle":[["impl Default for Providers"],["impl Default for Defns"],["impl Default for EVarGen"],["impl<'tcx> Default for Queries<'tcx>"],["impl Default for Map"]],
    -"flux_refineck":[["impl Default for KVarStore"],["impl Default for PlacesTree"],["impl<'a> Default for TypeEnv<'a>"]],
    +"flux_middle":[["impl Default for Providers"],["impl<'tcx> Default for Queries<'tcx>"],["impl Default for EVarGen"],["impl Default for Defns"],["impl Default for Map"]],
    +"flux_refineck":[["impl<'a> Default for TypeEnv<'a>"],["impl Default for PlacesTree"],["impl Default for KVarStore"]],
     "flux_syntax":[["impl Default for Location"],["impl Default for QualNames"],["impl Default for RefinedBy"],["impl Default for ParseSess"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/fmt/trait.Debug.js b/doc/trait.impl/core/fmt/trait.Debug.js
    index 70e8f0835c..c200ecd87a 100644
    --- a/doc/trait.impl/core/fmt/trait.Debug.js
    +++ b/doc/trait.impl/core/fmt/trait.Debug.js
    @@ -1,12 +1,12 @@
     (function() {var implementors = {
     "flux_config":[["impl Debug for CrateConfig"]],
    -"flux_desugar":[["impl<P: Debug> Debug for Env<P>"],["impl Debug for Param"],["impl Debug for ScopeId"],["impl Debug for ResKey"],["impl Debug for Param"],["impl<P: Debug> Debug for Scope<P>"]],
    -"flux_driver":[["impl Debug for CFGSetting"],["impl Debug for ConstSig"],["impl Debug for FluxAttr"],["impl Debug for FnSpec"],["impl Debug for FluxAttrCFG"],["impl Debug for FluxAttrKind"],["impl Debug for FluxAttrs"]],
    -"flux_fhir_analysis":[["impl<'a> Debug for LookupResult<'a>"],["impl<'a> Debug for LookupResultKind<'a>"],["impl Debug for Layer"],["impl Debug for Entry"]],
    -"flux_fixpoint":[["impl Debug for Constant"],["impl Debug for Func"],["impl<Tag: Debug> Debug for Error<Tag>"],["impl Debug for KVid"],["impl<Tag: Debug> Debug for FixpointResult<Tag>"],["impl Debug for Stats"],["impl Debug for CrashInfo"],["impl Debug for Pred"],["impl Debug for Sort"],["impl Debug for ConstName"],["impl Debug for KVar"],["impl Debug for Sign"],["impl Debug for BinOp"],["impl Debug for Const"],["impl Debug for ConstInfo"],["impl Debug for Proj"],["impl<Tag: Display> Debug for Task<Tag>"],["impl Debug for UnOp"],["impl Debug for Expr"],["impl Debug for Name"],["impl Debug for BigInt"]],
    +"flux_desugar":[["impl<P: Debug> Debug for Scope<P>"],["impl Debug for Param"],["impl Debug for ScopeId"],["impl<P: Debug> Debug for Env<P>"],["impl Debug for Param"],["impl Debug for ResKey"]],
    +"flux_driver":[["impl Debug for CFGSetting"],["impl Debug for FnSpec"],["impl Debug for FluxAttr"],["impl Debug for FluxAttrKind"],["impl Debug for ConstSig"],["impl Debug for FluxAttrCFG"],["impl Debug for FluxAttrs"]],
    +"flux_fhir_analysis":[["impl Debug for Layer"],["impl<'a> Debug for LookupResult<'a>"],["impl<'a> Debug for LookupResultKind<'a>"],["impl Debug for Entry"]],
    +"flux_fixpoint":[["impl<Tag: Debug> Debug for FixpointResult<Tag>"],["impl<Tag: Debug> Debug for Error<Tag>"],["impl Debug for CrashInfo"],["impl Debug for Constant"],["impl<T: Types> Debug for Task<T>"],["impl Debug for Sign"],["impl Debug for UnOp"],["impl Debug for Stats"],["impl Debug for BigInt"],["impl Debug for BinOp"]],
     "flux_macros":[["impl Debug for DiagnosticDeriveError"],["impl Debug for AllowMultipleAlternatives"],["impl Debug for KindsStatistics"]],
    -"flux_middle":[["impl Debug for HoleKind"],["impl Debug for FuncSort"],["impl Debug for Sort"],["impl Debug for ValueConst"],["impl Debug for Func"],["impl Debug for FnSig"],["impl Debug for SortDecl"],["impl<T: Debug> Debug for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Debug for Rvalue"],["impl Debug for Qualifier"],["impl Debug for ItemLocalId"],["impl<T: Debug + Internable + ?Sized> Debug for Interned<T>"],["impl Debug for GenericParamDefKind"],["impl Debug for TyKind"],["impl Debug for GenericArg"],["impl Debug for EVarGen"],["impl<'tcx> Debug for BasicBlockData<'tcx>"],["impl Debug for Expr"],["impl Debug for Candidate"],["impl Debug for Lifetime"],["impl Debug for AliasTy"],["impl Debug for ConstInfo"],["impl Debug for TyS"],["impl Debug for TraitPredicate"],["impl Debug for GenericArg"],["impl Debug for FnOutput"],["impl Debug for UnsolvedEvar"],["impl Debug for Generics"],["impl Debug for TVarSubst"],["impl Debug for Ty"],["impl Debug for AliasTy"],["impl Debug for SortVar"],["impl Debug for PlaceElem"],["impl Debug for SpanData"],["impl Debug for BoundVariableKind"],["impl Debug for GenericParamDef"],["impl Debug for FuncDecl"],["impl Debug for VariantSig"],["impl Debug for Place"],["impl Debug for TraitRef"],["impl Debug for TyS"],["impl Debug for RefineParam"],["impl Debug for Operand"],["impl Debug for Coercion"],["impl Debug for ClauseKind"],["impl Debug for PtrKind"],["impl Debug for RegionSubst"],["impl Debug for QueryErr"],["impl Debug for VariantRet"],["impl Debug for StructDef"],["impl Debug for WhereBoundPredicate"],["impl Debug for EnumDef"],["impl Debug for FnInfo"],["impl Debug for Generics"],["impl Debug for TyAlias"],["impl Debug for BoundVariableKind"],["impl Debug for FuncDecl"],["impl Debug for RefinedBy"],["impl Debug for FieldDef"],["impl Debug for KVid"],["impl<T: Pretty> Debug for WithCx<'_, '_, T>"],["impl Debug for FnTraitPredicate"],["impl Debug for AdtDefData"],["impl Debug for Region"],["impl<'a, T: Debug> Debug for LocalTableInContext<'a, T>"],["impl Debug for PointerCast"],["impl Debug for VariantDef"],["impl<T: Debug> Debug for Opaqueness<T>"],["impl Debug for StatementKind"],["impl Debug for Name"],["impl<'a, T: Debug> Debug for GeneratorArgsParts<'a, T>"],["impl Debug for FakeReadCause"],["impl Debug for QPath"],["impl Debug for SortVid"],["impl Debug for BoundRegion"],["impl Debug for SortCtor"],["impl Debug for GenericPredicates"],["impl Debug for FnSig"],["impl Debug for Clause"],["impl Debug for GenericBound"],["impl Debug for Expr"],["impl Debug for EVarSol"],["impl Debug for Instance"],["impl Debug for FnSig"],["impl Debug for FuncSort"],["impl Debug for AdtDef"],["impl Debug for KVar"],["impl Debug for GenericParamKind"],["impl Debug for EVarState"],["impl Debug for FuncKind"],["impl Debug for Constraint"],["impl Debug for TyKind"],["impl Debug for GenericPredicates"],["impl Debug for Qualifier"],["impl Debug for EVarCxId"],["impl Debug for TraitPredicate"],["impl Debug for PolyFuncSort"],["impl Debug for PolyTraitRef"],["impl<'tcx> Debug for Terminator<'tcx>"],["impl Debug for Sort"],["impl Debug for Invariant"],["impl Debug for GenericParam"],["impl Debug for Const"],["impl<T: Pretty> Debug for Binder<T>"],["impl Debug for Name"],["impl Debug for PolyFuncSort"],["impl Debug for ProjectionPredicate"],["impl Debug for FhirId"],["impl Debug for ProjectionPredicate"],["impl Debug for AdtDef"],["impl Debug for PlaceTy"],["impl<'tcx> Debug for TerminatorKind<'tcx>"],["impl Debug for Loc"],["impl Debug for FluxLocalDefId"],["impl Debug for AggregateKind"],["impl Debug for GenericArg"],["impl Debug for Res"],["impl Debug for OpaqueTy"],["impl Debug for FluxOwnerId"],["impl Debug for Path"],["impl Debug for EVid"],["impl<'tcx> Debug for CallArgs<'tcx>"],["impl Debug for Var"],["impl Debug for Clause"],["impl Debug for ParamKind"],["impl Debug for FieldDef"],["impl Debug for Ty"],["impl Debug for CastKind"],["impl Debug for GenericPredicates"],["impl Debug for GeneratorObligPredicate"],["impl Debug for Index"],["impl Debug for InferMode"],["impl Debug for FnOutput"],["impl Debug for StructKind"],["impl Debug for Body<'_>"],["impl Debug for Defn"],["impl<T: Debug> Debug for Binder<T>"],["impl Debug for RefineArg"],["impl Debug for UnsupportedReason"],["impl Debug for ClauseKind"],["impl Debug for BinOp"],["impl Debug for Path"],["impl Debug for TraitRef"],["impl Debug for AliasKind"],["impl Debug for ClosureOblig"],["impl<T: Debug> Debug for EarlyBinder<T>"],["impl<T, I> Debug for Join<'_, I>where\n    T: Debug,\n    I: Iterator<Item = T>,"],["impl Debug for RefineParam"],["impl Debug for Statement"],["impl Debug for TypeBinding"],["impl Debug for VariantDef"],["impl Debug for ArrayLen"],["impl Debug for Constraint"],["impl Debug for BaseTy"],["impl Debug for AliasKind"],["impl Debug for Ident"],["impl Debug for Lit"],["impl Debug for EVar"],["impl Debug for AssertKind"],["impl Debug for FluxItem"],["impl Debug for BaseTy"],["impl Debug for ESpan"],["impl Debug for Constant"],["impl Debug for AdtDefData"],["impl Debug for TraitBoundModifier"]],
    -"flux_refineck":[["impl Debug for ConstInfo"],["impl Debug for ProjResult"],["impl Debug for RefineTree"],["impl Debug for RefineCtxt<'_>"],["impl Debug for CheckerConfig"],["impl Debug for PlaceIndex"],["impl Debug for BasicBlockEnvShape"],["impl Debug for StateData"],["impl Debug for PlacesTree"],["impl Debug for BasicBlockEnv"],["impl Debug for Point"],["impl Debug for LocKind"],["impl Debug for Tag"],["impl Debug for State"],["impl Debug for Env"],["impl Debug for Scope"],["impl Debug for Map"],["impl Debug for TypeEnv<'_>"],["impl Debug for CheckerErrKind"],["impl Debug for PlaceNode"],["impl Debug for ConstrReason"],["impl Debug for RefineSubtree<'_>"],["impl Debug for TagIdx"],["impl Debug for ValueIndex"],["impl Debug for GhostStatement"],["impl Debug for PlaceInfo"]],
    +"flux_middle":[["impl Debug for Body<'_>"],["impl Debug for CastKind"],["impl Debug for AdtDefData"],["impl Debug for KVar"],["impl Debug for FnOutput"],["impl Debug for FuncKind"],["impl Debug for GenericArg"],["impl Debug for BoundRegion"],["impl Debug for EVarSol"],["impl Debug for TyS"],["impl Debug for Const"],["impl Debug for ProjectionPredicate"],["impl Debug for Ident"],["impl Debug for Constraint"],["impl Debug for FnInfo"],["impl Debug for GenericParamDef"],["impl Debug for StructDef"],["impl Debug for ClosureOblig"],["impl Debug for Loc"],["impl Debug for Expr"],["impl Debug for GenericPredicates"],["impl Debug for BoundVariableKind"],["impl Debug for ArrayLen"],["impl Debug for AliasTy"],["impl Debug for RegionSubst"],["impl Debug for AdtDef"],["impl Debug for QPath"],["impl Debug for SortVid"],["impl Debug for GenericArg"],["impl Debug for GenericParam"],["impl Debug for BinOp"],["impl Debug for FakeReadCause"],["impl Debug for RefinedBy"],["impl Debug for BaseTy"],["impl Debug for AggregateKind"],["impl Debug for TraitPredicate"],["impl Debug for Lit"],["impl Debug for FuncSort"],["impl Debug for TVarSubst"],["impl Debug for AdtDef"],["impl Debug for AliasKind"],["impl Debug for TyS"],["impl Debug for TraitRef"],["impl Debug for FhirId"],["impl Debug for EnumDef"],["impl<T: Pretty> Debug for WithCx<'_, '_, T>"],["impl Debug for StructKind"],["impl Debug for Constant"],["impl Debug for TyAlias"],["impl Debug for Candidate"],["impl Debug for Sort"],["impl<'a, T: Debug> Debug for LocalTableInContext<'a, T>"],["impl Debug for Sort"],["impl Debug for ProjectionPredicate"],["impl Debug for GenericBound"],["impl Debug for GenericPredicates"],["impl Debug for FnSig"],["impl Debug for FuncSort"],["impl Debug for Coercion"],["impl Debug for FieldDef"],["impl<'a, T: Debug> Debug for GeneratorArgsParts<'a, T>"],["impl Debug for TraitBoundModifier"],["impl Debug for FluxOwnerId"],["impl Debug for PolyFuncSort"],["impl Debug for SortCtor"],["impl Debug for TraitRef"],["impl Debug for RefineArg"],["impl Debug for FieldDef"],["impl Debug for ClauseKind"],["impl Debug for PlaceElem"],["impl<T, I> Debug for Join<'_, I>where\n    T: Debug,\n    I: Iterator<Item = T>,"],["impl Debug for Path"],["impl<'tcx> Debug for TerminatorKind<'tcx>"],["impl Debug for Lifetime"],["impl Debug for StatementKind"],["impl Debug for FnSig"],["impl Debug for Var"],["impl Debug for EVid"],["impl Debug for AssertKind"],["impl Debug for BoundVariableKind"],["impl Debug for QueryErr"],["impl Debug for Res"],["impl Debug for ParamKind"],["impl Debug for Name"],["impl Debug for FuncDecl"],["impl Debug for VariantDef"],["impl<T: Debug + Internable + ?Sized> Debug for Interned<T>"],["impl Debug for Statement"],["impl Debug for FluxItem"],["impl Debug for GenericParamKind"],["impl Debug for HoleKind"],["impl<'tcx> Debug for BasicBlockData<'tcx>"],["impl Debug for Qualifier"],["impl Debug for Ty"],["impl Debug for Clause"],["impl Debug for Name"],["impl Debug for RefineParam"],["impl<T: Debug> Debug for Opaqueness<T>"],["impl Debug for GenericPredicates"],["impl Debug for Defn"],["impl Debug for ConstInfo"],["impl Debug for FnTraitPredicate"],["impl Debug for Place"],["impl<'tcx> Debug for CallArgs<'tcx>"],["impl Debug for Invariant"],["impl Debug for ItemLocalId"],["impl Debug for FnSig"],["impl<T: Debug> Debug for Binder<T>"],["impl Debug for Qualifier"],["impl Debug for EVarState"],["impl Debug for Rvalue"],["impl Debug for Generics"],["impl Debug for FluxLocalDefId"],["impl Debug for PlaceTy"],["impl<T: Debug> Debug for EarlyBinder<T>"],["impl Debug for Path"],["impl<T: Debug> Debug for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Debug for Generics"],["impl Debug for TyKind"],["impl Debug for Func"],["impl Debug for VariantDef"],["impl Debug for UnsupportedReason"],["impl Debug for FuncDecl"],["impl Debug for WhereBoundPredicate"],["impl Debug for GenericParamDefKind"],["impl Debug for TraitPredicate"],["impl<'tcx> Debug for Terminator<'tcx>"],["impl Debug for ClauseKind"],["impl Debug for Operand"],["impl Debug for InferMode"],["impl Debug for SortVar"],["impl Debug for AliasKind"],["impl Debug for TypeBinding"],["impl Debug for SortDecl"],["impl Debug for AliasTy"],["impl Debug for VariantSig"],["impl Debug for ESpan"],["impl Debug for PointerCast"],["impl Debug for FnOutput"],["impl Debug for Expr"],["impl Debug for EVarGen"],["impl Debug for VariantRet"],["impl Debug for UnsolvedEvar"],["impl<T: Pretty> Debug for Binder<T>"],["impl Debug for Index"],["impl Debug for Region"],["impl Debug for GeneratorObligPredicate"],["impl Debug for Instance"],["impl Debug for BaseTy"],["impl Debug for Constraint"],["impl Debug for PolyFuncSort"],["impl Debug for ValueConst"],["impl Debug for GenericArg"],["impl Debug for PolyTraitRef"],["impl Debug for PtrKind"],["impl Debug for EVar"],["impl Debug for RefineParam"],["impl Debug for SpanData"],["impl Debug for EVarCxId"],["impl Debug for Clause"],["impl Debug for Ty"],["impl Debug for TyKind"],["impl Debug for AdtDefData"],["impl Debug for KVid"],["impl Debug for OpaqueTy"]],
    +"flux_refineck":[["impl Debug for PlaceNode"],["impl Debug for LocalVar"],["impl Debug for BasicBlockEnv"],["impl Debug for PlacesTree"],["impl Debug for KVid"],["impl Debug for LocKind"],["impl Debug for State"],["impl Debug for RefineCtxt<'_>"],["impl Debug for Map"],["impl Debug for Tag"],["impl Debug for GhostStatement"],["impl Debug for StateData"],["impl Debug for ConstrReason"],["impl Debug for ValueIndex"],["impl Debug for TagIdx"],["impl Debug for Scope"],["impl Debug for RefineTree"],["impl Debug for BasicBlockEnvShape"],["impl Debug for PlaceIndex"],["impl Debug for Point"],["impl Debug for TypeEnv<'_>"],["impl Debug for Env"],["impl Debug for CheckerErrKind"],["impl Debug for Var"],["impl Debug for RefineSubtree<'_>"],["impl Debug for PlaceInfo"],["impl Debug for GlobalVar"],["impl Debug for ProjResult"],["impl Debug for CheckerConfig"]],
     "flux_syntax":[["impl Debug for NodeId"],["impl Debug for VariantRet"],["impl Debug for TraitRef"],["impl Debug for Constraint"],["impl Debug for Location"],["impl Debug for Async"],["impl Debug for GenericParam"],["impl Debug for ConstSig"],["impl Debug for BindKind"],["impl Debug for RefineParam"],["impl Debug for TyKind"],["impl Debug for WhereBoundPredicate"],["impl Debug for Ty"],["impl Debug for RefineArg"],["impl Debug for ParseErrorKind"],["impl Debug for RefinedBy"],["impl Debug for Generics"],["impl Debug for BaseSort"],["impl Debug for FnRetTy"],["impl Debug for QualNames"],["impl Debug for QPathExpr"],["impl Debug for TyAlias"],["impl Debug for Sort"],["impl Debug for ExprKind"],["impl Debug for EnumDef"],["impl Debug for SortDecl"],["impl Debug for Token"],["impl Debug for Item"],["impl Debug for FuncDef"],["impl Debug for UnOp"],["impl Debug for Arg"],["impl Debug for GenericParamKind"],["impl Debug for BaseTy"],["impl Debug for BinOp"],["impl Debug for Indices"],["impl Debug for VariantDef"],["impl Debug for Qualifier"],["impl Debug for Path"],["impl Debug for Expr"],["impl Debug for FnSig"],["impl Debug for StructDef"],["impl Debug for BaseTyKind"],["impl Debug for GenericArg"],["impl Debug for ArrayLen"]],
     "xtask":[["impl Debug for Doc"],["impl Debug for BuildSysroot"],["impl Debug for Test"],["impl Debug for Install"],["impl Debug for Run"],["impl Debug for XtaskCmd"],["impl Debug for Uninstall"],["impl Debug for Expand"],["impl Debug for Xtask"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/fmt/trait.Display.js b/doc/trait.impl/core/fmt/trait.Display.js
    index 03243ff900..574fa9af0f 100644
    --- a/doc/trait.impl/core/fmt/trait.Display.js
    +++ b/doc/trait.impl/core/fmt/trait.Display.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl Display for BinOp"],["impl Display for FmtParens<'_>"],["impl<Tag: Display> Display for Task<Tag>"],["impl Display for Constant"],["impl Display for SortCtor"],["impl<Tag> Display for Constraint<Tag>where\n    Tag: Display,"],["impl Display for UnOp"],["impl<Tag> Display for PredTag<'_, Tag>where\n    Tag: Display,"],["impl Display for Qualifier"],["impl Display for Sort"],["impl Display for ConstInfo"],["impl Display for Func"],["impl Display for Expr"],["impl Display for Pred"],["impl Display for FuncSort"],["impl Display for BigInt"],["impl Display for KVar"],["impl Display for PolyFuncSort"]],
    +"flux_fixpoint":[["impl<T: Types> Display for PredTag<'_, T>"],["impl<T: Types> Display for Expr<T>"],["impl Display for FuncSort"],["impl Display for PolyFuncSort"],["impl<T: Types> Display for Constraint<T>"],["impl<T: Types> Display for Pred<T>"],["impl<T: Types> Display for Task<T>"],["impl Display for BigInt"],["impl Display for Sort"],["impl<T: Types> Display for Func<T>"],["impl Display for UnOp"],["impl<T: Types> Display for Qualifier<T>"],["impl Display for Constant"],["impl<T: Types> Display for FmtParens<'_, T>"],["impl<T: Types> Display for KVar<T>"],["impl Display for SortCtor"],["impl<T: Types> Display for ConstInfo<T>"],["impl Display for BinOp"]],
     "flux_macros":[["impl Display for SuggestionKind"]],
    -"flux_middle":[["impl<T: Display + Internable + ?Sized> Display for Interned<T>"],["impl Display for PolyFuncSort"],["impl Display for FuncSort"],["impl Display for SortCtor"],["impl Display for Sort"]],
    -"flux_refineck":[["impl Display for TagIdx"]]
    +"flux_middle":[["impl Display for FuncSort"],["impl Display for Sort"],["impl Display for PolyFuncSort"],["impl Display for SortCtor"],["impl<T: Display + Internable + ?Sized> Display for Interned<T>"]],
    +"flux_refineck":[["impl Display for Var"],["impl Display for TagIdx"],["impl Display for KVid"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/hash/trait.Hash.js b/doc/trait.impl/core/hash/trait.Hash.js
    index 611c792d5f..09c3c31d53 100644
    --- a/doc/trait.impl/core/hash/trait.Hash.js
    +++ b/doc/trait.impl/core/hash/trait.Hash.js
    @@ -1,8 +1,8 @@
     (function() {var implementors = {
     "flux_desugar":[["impl Hash for ResKey"],["impl Hash for ScopeId"]],
     "flux_driver":[["impl Hash for IgnoreKey"]],
    -"flux_fixpoint":[["impl Hash for PolyFuncSort"],["impl Hash for SortCtor"],["impl Hash for KVid"],["impl Hash for FuncSort"],["impl<Tag> Hash for Constraint<Tag>"],["impl<Tag> Hash for Task<Tag>"],["impl Hash for Expr"],["impl Hash for Sort"],["impl Hash for Pred"],["impl Hash for Qualifier"],["impl Hash for ConstInfo"],["impl Hash for BigInt"],["impl Hash for Proj"],["impl Hash for Func"],["impl Hash for UnOp"],["impl Hash for KVar"],["impl Hash for BinOp"],["impl Hash for ConstName"],["impl Hash for Sign"],["impl Hash for Constant"],["impl Hash for Name"]],
    -"flux_middle":[["impl Hash for WeakKind"],["impl Hash for Clause"],["impl Hash for ValueConst"],["impl Hash for ESpan"],["impl Hash for GenericParamDef"],["impl Hash for AdtDefData"],["impl Hash for Invariant"],["impl Hash for VariantSig"],["impl Hash for AliasTy"],["impl Hash for SortVid"],["impl Hash for SortCtor"],["impl Hash for ClauseKind"],["impl Hash for Loc"],["impl Hash for EVar"],["impl Hash for PolyFuncSort"],["impl Hash for TyKind"],["impl Hash for FuncKind"],["impl<T: Hash> Hash for Binder<T>"],["impl Hash for TyS"],["impl Hash for FnTraitPredicate"],["impl Hash for TraitPredicate"],["impl Hash for ExprKind"],["impl Hash for FuncSort"],["impl Hash for Const"],["impl Hash for GenericParamDefKind"],["impl Hash for Sort"],["impl Hash for KVar"],["impl Hash for SortCtor"],["impl Hash for Place"],["impl<T: Hash> Hash for Binder<T>"],["impl Hash for AliasTy"],["impl Hash for Sort"],["impl Hash for BoundVariableKind"],["impl Hash for RefineParam"],["impl Hash for FieldDef"],["impl Hash for FnSig"],["impl Hash for GenericArg"],["impl Hash for Ty"],["impl Hash for VariantDef"],["impl<T: Hash> Hash for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Hash for SortVar"],["impl Hash for GenericParamDef"],["impl Hash for BaseTy"],["impl Hash for TyKind"],["impl Hash for AdtDefData"],["impl Hash for PtrKind"],["impl Hash for FluxLocalDefId"],["impl Hash for PlaceElem"],["impl Hash for FhirId"],["impl Hash for EVid"],["impl Hash for GenericParamDefKind"],["impl Hash for GenericArg"],["impl Hash for TraitRef"],["impl Hash for BoundRegion"],["impl<T: Internable + ?Sized> Hash for Interned<T>"],["impl Hash for TyS"],["impl Hash for Name"],["impl Hash for TraitPredicate"],["impl Hash for InferMode"],["impl Hash for FluxOwnerId"],["impl Hash for Clause"],["impl Hash for AdtDef"],["impl Hash for Name"],["impl Hash for ExprS"],["impl Hash for AliasKind"],["impl Hash for SpanData"],["impl Hash for AliasKind"],["impl Hash for ClauseKind"],["impl Hash for ProjectionPredicate"],["impl Hash for TraitRef"],["impl Hash for ProjectionPredicate"],["impl Hash for BoundVariableKind"],["impl Hash for FreeRegion"],["impl Hash for AdtDef"],["impl Hash for Var"],["impl Hash for Path"],["impl Hash for EVarCxId"],["impl Hash for FuncSort"],["impl Hash for GeneratorObligPredicate"],["impl Hash for Index"],["impl Hash for ItemLocalId"],["impl Hash for KVid"],["impl Hash for HoleKind"],["impl Hash for PolyFuncSort"],["impl Hash for Region"],["impl Hash for Constraint"],["impl Hash for BinOp"]],
    -"flux_refineck":[["impl Hash for ConstrReason"],["impl Hash for Point"],["impl Hash for Tag"],["impl Hash for ValueIndex"],["impl Hash for TagIdx"],["impl Hash for Key"],["impl Hash for PlaceIndex"]],
    +"flux_fixpoint":[["impl Hash for Sign"],["impl Hash for BigInt"],["impl<T: Types> Hash for Qualifier<T>"],["impl Hash for PolyFuncSort"],["impl<T: Types> Hash for Expr<T>"],["impl Hash for Constant"],["impl<T: Types> Hash for ConstInfo<T>"],["impl Hash for Proj"],["impl<T: Types> Hash for Func<T>"],["impl Hash for Sort"],["impl<T: Types> Hash for Constraint<T>"],["impl Hash for BinOp"],["impl<T: Types> Hash for Task<T>"],["impl<T: Types> Hash for Pred<T>"],["impl<T: Types> Hash for KVar<T>"],["impl Hash for SortCtor"],["impl Hash for FuncSort"],["impl Hash for UnOp"]],
    +"flux_middle":[["impl Hash for PtrKind"],["impl Hash for Place"],["impl Hash for ExprKind"],["impl Hash for Name"],["impl Hash for Clause"],["impl Hash for GenericArg"],["impl Hash for FuncSort"],["impl<T: Hash> Hash for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl Hash for AdtDefData"],["impl Hash for AliasTy"],["impl Hash for AliasTy"],["impl Hash for ClauseKind"],["impl Hash for AdtDef"],["impl Hash for RefineParam"],["impl Hash for GenericParamDef"],["impl Hash for GenericParamDefKind"],["impl Hash for BaseTy"],["impl Hash for KVid"],["impl Hash for PolyFuncSort"],["impl Hash for ClauseKind"],["impl Hash for Region"],["impl Hash for BoundVariableKind"],["impl Hash for Ty"],["impl Hash for VariantDef"],["impl Hash for InferMode"],["impl Hash for GeneratorObligPredicate"],["impl Hash for TyS"],["impl Hash for Sort"],["impl Hash for TraitPredicate"],["impl Hash for EVar"],["impl Hash for Path"],["impl Hash for Const"],["impl Hash for TraitPredicate"],["impl Hash for Constraint"],["impl<T: Hash> Hash for Binder<T>"],["impl Hash for AliasKind"],["impl Hash for FuncSort"],["impl<T: Internable + ?Sized> Hash for Interned<T>"],["impl Hash for FieldDef"],["impl Hash for SortCtor"],["impl Hash for GenericArg"],["impl Hash for PolyFuncSort"],["impl Hash for ValueConst"],["impl Hash for PlaceElem"],["impl Hash for HoleKind"],["impl Hash for FhirId"],["impl Hash for ProjectionPredicate"],["impl Hash for TyS"],["impl Hash for SortCtor"],["impl Hash for EVid"],["impl Hash for ExprS"],["impl Hash for BinOp"],["impl Hash for TraitRef"],["impl Hash for Var"],["impl Hash for TraitRef"],["impl Hash for Index"],["impl Hash for SpanData"],["impl Hash for GenericParamDef"],["impl Hash for EVarCxId"],["impl Hash for WeakKind"],["impl Hash for FuncKind"],["impl Hash for AdtDef"],["impl Hash for SortVar"],["impl Hash for FluxLocalDefId"],["impl Hash for BoundRegion"],["impl Hash for TyKind"],["impl<T: Hash> Hash for Binder<T>"],["impl Hash for Loc"],["impl Hash for SortVid"],["impl Hash for ESpan"],["impl Hash for GenericParamDefKind"],["impl Hash for TyKind"],["impl Hash for BoundVariableKind"],["impl Hash for VariantSig"],["impl Hash for FluxOwnerId"],["impl Hash for Name"],["impl Hash for ItemLocalId"],["impl Hash for FnSig"],["impl Hash for Invariant"],["impl Hash for AdtDefData"],["impl Hash for AliasKind"],["impl Hash for ProjectionPredicate"],["impl Hash for KVar"],["impl Hash for FreeRegion"],["impl Hash for FnTraitPredicate"],["impl Hash for Clause"],["impl Hash for Sort"]],
    +"flux_refineck":[["impl Hash for TagIdx"],["impl Hash for Tag"],["impl Hash for ConstrReason"],["impl Hash for KVid"],["impl Hash for PlaceIndex"],["impl Hash for GlobalVar"],["impl Hash for LocalVar"],["impl Hash for Point"],["impl Hash for ValueIndex"],["impl Hash for Key"],["impl Hash for Var"]],
     "flux_syntax":[["impl Hash for NodeId"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/iter/range/trait.Step.js b/doc/trait.impl/core/iter/range/trait.Step.js
    index e225a6935f..f0de2d9452 100644
    --- a/doc/trait.impl/core/iter/range/trait.Step.js
    +++ b/doc/trait.impl/core/iter/range/trait.Step.js
    @@ -1,5 +1,4 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl Step for Name"],["impl Step for KVid"],["impl Step for ConstName"]],
    -"flux_middle":[["impl Step for Name"],["impl Step for SortVid"],["impl Step for EVid"],["impl Step for Name"],["impl Step for KVid"],["impl Step for ItemLocalId"]],
    -"flux_refineck":[["impl Step for TagIdx"],["impl Step for PlaceIndex"],["impl Step for ValueIndex"]]
    +"flux_middle":[["impl Step for Name"],["impl Step for Name"],["impl Step for SortVid"],["impl Step for ItemLocalId"],["impl Step for KVid"],["impl Step for EVid"]],
    +"flux_refineck":[["impl Step for TagIdx"],["impl Step for KVid"],["impl Step for ValueIndex"],["impl Step for GlobalVar"],["impl Step for PlaceIndex"],["impl Step for LocalVar"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/iter/traits/iterator/trait.Iterator.js b/doc/trait.impl/core/iter/traits/iterator/trait.Iterator.js
    index 50690034df..01ee108eef 100644
    --- a/doc/trait.impl/core/iter/traits/iterator/trait.Iterator.js
    +++ b/doc/trait.impl/core/iter/traits/iterator/trait.Iterator.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
     "flux_common":[["impl<'a, I, F, R> Iterator for MapTakeWhile<'a, I, F>where\n    I: 'a + Iterator + Clone,\n    F: FnMut(&I::Item) -> Option<R>,"],["impl<I, T, E, F, R> Iterator for ReportResiduals<I, F>where\n    I: Iterator<Item = R>,\n    R: Try<Output = T, Residual = E> + FromResidual<E>,\n    F: FnMut(E),"]],
    -"flux_refineck":[["impl Iterator for ParentsIter"],["impl<'a> Iterator for Children<'a>"]],
    +"flux_refineck":[["impl<'a> Iterator for Children<'a>"],["impl Iterator for ParentsIter"]],
     "flux_syntax":[["impl Iterator for Cursor<'_>"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/iter/traits/marker/trait.TrustedStep.js b/doc/trait.impl/core/iter/traits/marker/trait.TrustedStep.js
    index 046bc24cf1..6545c98285 100644
    --- a/doc/trait.impl/core/iter/traits/marker/trait.TrustedStep.js
    +++ b/doc/trait.impl/core/iter/traits/marker/trait.TrustedStep.js
    @@ -1,5 +1,4 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl TrustedStep for ConstName"],["impl TrustedStep for KVid"],["impl TrustedStep for Name"]],
    -"flux_middle":[["impl TrustedStep for SortVid"],["impl TrustedStep for KVid"],["impl TrustedStep for Name"],["impl TrustedStep for ItemLocalId"],["impl TrustedStep for EVid"],["impl TrustedStep for Name"]],
    -"flux_refineck":[["impl TrustedStep for PlaceIndex"],["impl TrustedStep for ValueIndex"],["impl TrustedStep for TagIdx"]]
    +"flux_middle":[["impl TrustedStep for Name"],["impl TrustedStep for SortVid"],["impl TrustedStep for Name"],["impl TrustedStep for EVid"],["impl TrustedStep for KVid"],["impl TrustedStep for ItemLocalId"]],
    +"flux_refineck":[["impl TrustedStep for KVid"],["impl TrustedStep for GlobalVar"],["impl TrustedStep for LocalVar"],["impl TrustedStep for TagIdx"],["impl TrustedStep for ValueIndex"],["impl TrustedStep for PlaceIndex"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.Copy.js b/doc/trait.impl/core/marker/trait.Copy.js
    index 16ecdbd68f..02ecb4e265 100644
    --- a/doc/trait.impl/core/marker/trait.Copy.js
    +++ b/doc/trait.impl/core/marker/trait.Copy.js
    @@ -1,10 +1,10 @@
     (function() {var implementors = {
     "flux_common":[["impl Copy for PadAdapterState"]],
     "flux_config":[["impl Copy for PointerWidth"]],
    -"flux_desugar":[["impl Copy for ScopeId"],["impl Copy for TypePos"]],
    -"flux_fixpoint":[["impl Copy for UnOp"],["impl Copy for Const"],["impl Copy for BigInt"],["impl Copy for Proj"],["impl Copy for Sign"],["impl Copy for Name"],["impl Copy for Constant"],["impl Copy for KVid"],["impl Copy for BinOp"],["impl Copy for ConstName"]],
    +"flux_desugar":[["impl Copy for TypePos"],["impl Copy for ScopeId"]],
    +"flux_fixpoint":[["impl Copy for Constant"],["impl Copy for BinOp"],["impl Copy for BigInt"],["impl Copy for UnOp"],["impl Copy for Proj"],["impl Copy for Sign"],["impl<T: Copy + Types> Copy for Const<T>where\n    T::Var: Copy,"]],
     "flux_macros":[["impl Copy for Applicability"],["impl<'ty> Copy for FieldInnerTy<'ty>"],["impl Copy for SuggestionKind"],["impl Copy for AllowMultipleAlternatives"],["impl Copy for KindsStatistics"]],
    -"flux_middle":[["impl Copy for PointerCast"],["impl Copy for AliasKind"],["impl Copy for SortVid"],["impl Copy for SortCtor"],["impl Copy for Region"],["impl Copy for AliasKind"],["impl Copy for CastKind"],["impl Copy for ItemLocalId"],["impl Copy for FluxLocalDefId"],["impl Copy for FhirId"],["impl Copy for ESpan"],["impl Copy for SpanData"],["impl Copy for FluxOwnerId"],["impl Copy for EVarCxId"],["impl Copy for KVarArgs"],["impl Copy for Var"],["impl Copy for TraitBoundModifier"],["impl Copy for EVar"],["impl Copy for ParamKind"],["impl Copy for PlaceElem"],["impl Copy for KVid"],["impl Copy for EVid"],["impl Copy for WeakKind"],["impl Copy for Res"],["impl Copy for Name"],["impl Copy for FreeRegion"],["impl Copy for FuncKind"],["impl Copy for Name"],["impl Copy for BoundVariableKind"],["impl Copy for PtrKind"],["impl Copy for Lifetime"],["impl Copy for InferMode"],["impl Copy for Ident"],["impl Copy for BinOp"],["impl Copy for Lit"],["impl Copy for BoundRegion"]],
    -"flux_refineck":[["impl Copy for TagIdx"],["impl Copy for CheckerConfig"],["impl Copy for KVarEncoding"],["impl Copy for ConstrReason"],["impl Copy for PlaceIndex"],["impl Copy for Tag"],["impl Copy for ValueIndex"],["impl Copy for Point"]],
    +"flux_middle":[["impl Copy for PointerCast"],["impl Copy for Var"],["impl Copy for SortCtor"],["impl Copy for FluxLocalDefId"],["impl Copy for Lit"],["impl Copy for Name"],["impl Copy for KVid"],["impl Copy for BinOp"],["impl Copy for FuncKind"],["impl Copy for EVid"],["impl Copy for PlaceElem"],["impl Copy for ParamKind"],["impl Copy for Res"],["impl Copy for Ident"],["impl Copy for CastKind"],["impl Copy for FhirId"],["impl Copy for FluxOwnerId"],["impl Copy for FreeRegion"],["impl Copy for EVarCxId"],["impl Copy for ESpan"],["impl Copy for Lifetime"],["impl Copy for Name"],["impl Copy for TraitBoundModifier"],["impl Copy for EVar"],["impl Copy for SpanData"],["impl Copy for SortVid"],["impl Copy for AliasKind"],["impl Copy for ItemLocalId"],["impl Copy for KVarArgs"],["impl Copy for WeakKind"],["impl Copy for Region"],["impl Copy for AliasKind"],["impl Copy for BoundRegion"],["impl Copy for PtrKind"],["impl Copy for BoundVariableKind"],["impl Copy for InferMode"]],
    +"flux_refineck":[["impl Copy for KVarEncoding"],["impl Copy for ConstrReason"],["impl Copy for LocalVar"],["impl Copy for Tag"],["impl Copy for CheckerConfig"],["impl Copy for PlaceIndex"],["impl Copy for ValueIndex"],["impl Copy for GlobalVar"],["impl Copy for Var"],["impl Copy for TagIdx"],["impl Copy for Point"],["impl Copy for KVid"]],
     "flux_syntax":[["impl Copy for UnOp"],["impl Copy for BindKind"],["impl Copy for NodeId"],["impl Copy for ArrayLen"],["impl Copy for Location"],["impl Copy for Async"],["impl Copy for BinOp"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.Freeze.js b/doc/trait.impl/core/marker/trait.Freeze.js
    index a1cb6aa9bd..9071e40479 100644
    --- a/doc/trait.impl/core/marker/trait.Freeze.js
    +++ b/doc/trait.impl/core/marker/trait.Freeze.js
    @@ -5,11 +5,11 @@
     "flux_driver":[["impl Freeze for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> Freeze for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl Freeze for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Freeze for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Freeze for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl Freeze for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Freeze for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Freeze for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl Freeze for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl Freeze for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Freeze for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> Freeze for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl Freeze for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl Freeze for Specs",1,["flux_driver::collector::Specs"]],["impl Freeze for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl Freeze for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl Freeze for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl Freeze for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Freeze for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Freeze for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Freeze for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl !Freeze for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl Freeze for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl Freeze for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl Freeze for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl Freeze for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl Freeze for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> Freeze for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl Freeze for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> Freeze for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl Freeze for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Freeze for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Freeze for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> Freeze for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Freeze for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl Freeze for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Freeze for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Freeze for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Freeze for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Freeze for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl Freeze for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> Freeze for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Freeze for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Freeze for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> Freeze for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl Freeze for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Freeze for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> Freeze for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Freeze for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> Freeze for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl Freeze for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Freeze for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Freeze for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> Freeze for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> Freeze for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl Freeze for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl Freeze for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl Freeze for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Freeze for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> Freeze for Constraint<Tag>where\n    Tag: Freeze,",1,["flux_fixpoint::constraint::Constraint"]],["impl Freeze for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Freeze for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Freeze for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Freeze for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl Freeze for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl Freeze for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl Freeze for Func",1,["flux_fixpoint::constraint::Func"]],["impl Freeze for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl Freeze for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl Freeze for Const",1,["flux_fixpoint::constraint::Const"]],["impl Freeze for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Freeze for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Freeze for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl Freeze for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl Freeze for Name",1,["flux_fixpoint::constraint::Name"]],["impl Freeze for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> Freeze for PredTag<'a, Tag>",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> Freeze for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl Freeze for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> Freeze for Task<Tag>where\n    Tag: Freeze,",1,["flux_fixpoint::Task"]],["impl<Tag> Freeze for FixpointResult<Tag>",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Freeze for Error<Tag>where\n    Tag: Freeze,",1,["flux_fixpoint::Error"]],["impl Freeze for Stats",1,["flux_fixpoint::Stats"]],["impl Freeze for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl Freeze for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl Freeze for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Freeze for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> Freeze for Constraint<T>where\n    <T as Types>::KVar: Freeze,\n    <T as Types>::Tag: Freeze,\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::constraint::Constraint"]],["impl Freeze for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Freeze for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Freeze for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Freeze for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> Freeze for Pred<T>where\n    <T as Types>::KVar: Freeze,\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> Freeze for Expr<T>where\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> Freeze for Func<T>where\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::constraint::Func"]],["impl Freeze for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> Freeze for Qualifier<T>where\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> Freeze for Const<T>where\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::constraint::Const"]],["impl Freeze for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Freeze for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Freeze for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> Freeze for PredTag<'a, T>",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> Freeze for FmtParens<'a, T>",1,["flux_fixpoint::constraint::FmtParens"]],["impl Freeze for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> Freeze for ConstInfo<T>where\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::ConstInfo"]],["impl<T> Freeze for Task<T>where\n    <T as Types>::KVar: Freeze,\n    <T as Types>::Tag: Freeze,\n    <T as Types>::Var: Freeze,",1,["flux_fixpoint::Task"]],["impl<Tag> Freeze for FixpointResult<Tag>",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Freeze for Error<Tag>where\n    Tag: Freeze,",1,["flux_fixpoint::Error"]],["impl Freeze for Stats",1,["flux_fixpoint::Stats"]],["impl Freeze for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> Freeze for KVar<T>where\n    <T as Types>::KVar: Freeze,",1,["flux_fixpoint::KVar"]]],
     "flux_macros":[["impl<'a> Freeze for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> Freeze for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl Freeze for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl Freeze for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl Freeze for DiagnosticDeriveBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveBuilder"]],["impl<'parent> Freeze for DiagnosticDeriveVariantBuilder<'parent>",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl Freeze for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl Freeze for SubdiagnosticDeriveBuilder",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveBuilder"]],["impl<'parent, 'a> Freeze for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl Freeze for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'ty> Freeze for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]],["impl<'a> Freeze for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl Freeze for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Freeze for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Freeze for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl Freeze for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl Freeze for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]]],
     "flux_metadata":[["impl<'a> Freeze for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> Freeze for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> Freeze for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl Freeze for CStore",1,["flux_metadata::CStore"]],["impl Freeze for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl Freeze for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> Freeze for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> Freeze for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl Freeze for Generics",1,["flux_middle::fhir::Generics"]],["impl Freeze for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl Freeze for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl Freeze for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl Freeze for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl Freeze for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl Freeze for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl Freeze for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl Freeze for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl Freeze for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl Freeze for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl Freeze for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl Freeze for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl !Freeze for Map",1,["flux_middle::fhir::Map"]],["impl Freeze for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl Freeze for StructDef",1,["flux_middle::fhir::StructDef"]],["impl Freeze for StructKind",1,["flux_middle::fhir::StructKind"]],["impl Freeze for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl Freeze for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl Freeze for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl Freeze for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl Freeze for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl Freeze for FnSig",1,["flux_middle::fhir::FnSig"]],["impl Freeze for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl Freeze for Constraint",1,["flux_middle::fhir::Constraint"]],["impl Freeze for Ty",1,["flux_middle::fhir::Ty"]],["impl Freeze for TyKind",1,["flux_middle::fhir::TyKind"]],["impl Freeze for MutTy",1,["flux_middle::fhir::MutTy"]],["impl Freeze for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl Freeze for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl Freeze for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl Freeze for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl Freeze for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> Freeze for LocalTableInContext<'a, T>",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> Freeze for LocalTableInContextMut<'a, T>",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl Freeze for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl Freeze for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl Freeze for FhirId",1,["flux_middle::fhir::FhirId"]],["impl Freeze for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl Freeze for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl Freeze for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl Freeze for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl Freeze for QPath",1,["flux_middle::fhir::QPath"]],["impl Freeze for Path",1,["flux_middle::fhir::Path"]],["impl Freeze for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl Freeze for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl Freeze for Res",1,["flux_middle::fhir::Res"]],["impl Freeze for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl Freeze for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl Freeze for InferMode",1,["flux_middle::fhir::InferMode"]],["impl Freeze for SortVid",1,["flux_middle::fhir::SortVid"]],["impl Freeze for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl Freeze for Sort",1,["flux_middle::fhir::Sort"]],["impl Freeze for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl Freeze for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl Freeze for Expr",1,["flux_middle::fhir::Expr"]],["impl Freeze for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl Freeze for Func",1,["flux_middle::fhir::Func"]],["impl Freeze for Lit",1,["flux_middle::fhir::Lit"]],["impl Freeze for Ident",1,["flux_middle::fhir::Ident"]],["impl Freeze for Name",1,["flux_middle::fhir::Name"]],["impl Freeze for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl Freeze for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl Freeze for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl Freeze for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !Freeze for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> Freeze for Interned<T>",1,["flux_middle::intern::Interned"]],["impl<T> !Freeze for InternStorage<T>",1,["flux_middle::intern::InternStorage"]],["impl Freeze for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> Freeze for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> Freeze for WithCx<'a, 'tcx, T>where\n    T: Freeze,",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> !Freeze for Join<'a, I>",1,["flux_middle::pretty::Join"]],["impl<'a, T> Freeze for Parens<'a, T>",1,["flux_middle::pretty::Parens"]],["impl Freeze for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl Freeze for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !Freeze for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl Freeze for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl Freeze for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl Freeze for EVar",1,["flux_middle::rty::evars::EVar"]],["impl Freeze for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl Freeze for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl Freeze for EVid",1,["flux_middle::rty::evars::EVid"]],["impl Freeze for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl Freeze for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl Freeze for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl Freeze for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl Freeze for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl Freeze for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl Freeze for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl Freeze for KVar",1,["flux_middle::rty::expr::KVar"]],["impl Freeze for Var",1,["flux_middle::rty::expr::Var"]],["impl Freeze for Path",1,["flux_middle::rty::expr::Path"]],["impl Freeze for Loc",1,["flux_middle::rty::expr::Loc"]],["impl Freeze for KVid",1,["flux_middle::rty::expr::KVid"]],["impl Freeze for Name",1,["flux_middle::rty::expr::Name"]],["impl Freeze for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> Freeze for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl Freeze for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> Freeze for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl Freeze for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl Freeze for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> Freeze for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl Freeze for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> Freeze for BoundVarReplacer<D>where\n    D: Freeze,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> Freeze for FnMutDelegate<F1, F2>where\n    F1: Freeze,\n    F2: Freeze,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> Freeze for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> Freeze for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl Freeze for Generics",1,["flux_middle::rty::Generics"]],["impl Freeze for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl Freeze for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl Freeze for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl Freeze for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl Freeze for Clause",1,["flux_middle::rty::Clause"]],["impl Freeze for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl Freeze for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl Freeze for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl Freeze for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl Freeze for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl Freeze for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl Freeze for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl Freeze for SortVar",1,["flux_middle::rty::SortVar"]],["impl Freeze for Sort",1,["flux_middle::rty::Sort"]],["impl Freeze for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl Freeze for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl Freeze for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl Freeze for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> Freeze for Opaqueness<T>where\n    T: Freeze,",1,["flux_middle::rty::Opaqueness"]],["impl Freeze for Invariant",1,["flux_middle::rty::Invariant"]],["impl Freeze for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl Freeze for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> Freeze for Binder<T>where\n    T: Freeze,",1,["flux_middle::rty::Binder"]],["impl<T> Freeze for EarlyBinder<T>where\n    T: Freeze,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> Freeze for TupleTree<T>where\n    T: Freeze,",1,["flux_middle::rty::TupleTree"]],["impl Freeze for FnSig",1,["flux_middle::rty::FnSig"]],["impl Freeze for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl Freeze for Constraint",1,["flux_middle::rty::Constraint"]],["impl Freeze for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl Freeze for Defn",1,["flux_middle::rty::Defn"]],["impl Freeze for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl Freeze for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl Freeze for TyS",1,["flux_middle::rty::TyS"]],["impl Freeze for TyKind",1,["flux_middle::rty::TyKind"]],["impl Freeze for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl Freeze for Index",1,["flux_middle::rty::Index"]],["impl Freeze for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl Freeze for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl Freeze for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl Freeze for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl Freeze for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !Freeze for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> Freeze for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl Freeze for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> Freeze for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> Freeze for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl Freeze for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> Freeze for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl Freeze for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl Freeze for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl Freeze for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl Freeze for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl Freeze for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl Freeze for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl Freeze for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl Freeze for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl Freeze for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl Freeze for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl Freeze for Place",1,["flux_middle::rustc::mir::Place"]],["impl Freeze for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl Freeze for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl Freeze for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl Freeze for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> Freeze for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> Freeze for EarlyBinder<T>where\n    T: Freeze,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> Freeze for Binder<T>where\n    T: Freeze,",1,["flux_middle::rustc::ty::Binder"]],["impl Freeze for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl Freeze for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl Freeze for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl Freeze for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl Freeze for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl Freeze for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl Freeze for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl Freeze for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl Freeze for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl Freeze for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl Freeze for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl Freeze for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl Freeze for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl Freeze for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl Freeze for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl Freeze for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl Freeze for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl Freeze for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl Freeze for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl Freeze for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl Freeze for Const",1,["flux_middle::rustc::ty::Const"]],["impl Freeze for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl Freeze for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl Freeze for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> Freeze for ClosureArgsParts<'a, T>",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> Freeze for GeneratorArgsParts<'a, T>",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl Freeze for Region",1,["flux_middle::rustc::ty::Region"]],["impl Freeze for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl Freeze for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> Freeze for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl Freeze for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl Freeze for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> Freeze for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl Freeze for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl Freeze for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Freeze for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Freeze for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> Freeze for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Freeze for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Freeze for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Freeze for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Freeze for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> Freeze for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl Freeze for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> Freeze for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Freeze for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Freeze for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Freeze for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Freeze for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Freeze for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Freeze for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Freeze for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !Freeze for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Freeze for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> Freeze for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Freeze for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Freeze for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> Freeze for FoldUnfoldAnalysis<'a, 'tcx, M>where\n    M: Freeze,",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Freeze for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Freeze for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Freeze for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Freeze for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Freeze for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Freeze for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Freeze for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Freeze for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Freeze for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Freeze for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Freeze for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Freeze for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Freeze for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Freeze for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Freeze for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Freeze for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Freeze for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Freeze for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Freeze for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Freeze for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Freeze for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Freeze for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl Freeze for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> Freeze for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> Freeze for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl Freeze for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Freeze for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl Freeze for Node",1,["flux_refineck::refine_tree::Node"]],["impl Freeze for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl Freeze for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Freeze for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> Freeze for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Freeze for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl Freeze for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Freeze for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Freeze for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Freeze for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Freeze for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl Freeze for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Freeze for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Freeze for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Freeze for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> Freeze for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Freeze for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> Freeze for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Freeze for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Freeze for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Freeze for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Freeze for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Freeze for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Freeze for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Freeze for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Freeze for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Freeze for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Freeze for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Freeze for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Freeze for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Freeze for DivError",1,["flux_refineck::errors::DivError"]],["impl Freeze for RemError",1,["flux_refineck::errors::RemError"]],["impl Freeze for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Freeze for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Freeze for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Freeze for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl Freeze for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Freeze for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Freeze for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> Freeze for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Freeze for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Freeze for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Freeze for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Freeze for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> Freeze for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl Freeze for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> Freeze for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Freeze for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Freeze for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Freeze for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Freeze for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl Freeze for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl Freeze for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Freeze for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl Freeze for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Freeze for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Freeze for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Freeze for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Freeze for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !Freeze for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Freeze for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl !Freeze for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> Freeze for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Freeze for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Freeze for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> Freeze for FoldUnfoldAnalysis<'a, 'tcx, M>where\n    M: Freeze,",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Freeze for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Freeze for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Freeze for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Freeze for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Freeze for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Freeze for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Freeze for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Freeze for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Freeze for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Freeze for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Freeze for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Freeze for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Freeze for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Freeze for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Freeze for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Freeze for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Freeze for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Freeze for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Freeze for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Freeze for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Freeze for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Freeze for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl Freeze for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> Freeze for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> Freeze for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl Freeze for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Freeze for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl Freeze for Node",1,["flux_refineck::refine_tree::Node"]],["impl Freeze for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl Freeze for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Freeze for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> Freeze for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Freeze for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl Freeze for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Freeze for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Freeze for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Freeze for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Freeze for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl Freeze for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Freeze for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Freeze for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Freeze for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> Freeze for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Freeze for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> Freeze for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Freeze for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Freeze for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Freeze for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Freeze for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Freeze for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Freeze for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Freeze for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Freeze for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Freeze for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Freeze for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Freeze for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Freeze for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Freeze for DivError",1,["flux_refineck::errors::DivError"]],["impl Freeze for RemError",1,["flux_refineck::errors::RemError"]],["impl Freeze for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Freeze for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Freeze for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Freeze for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl Freeze for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> Freeze for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl Freeze for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> Freeze for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl Freeze for Location",1,["flux_syntax::lexer::Location"]],["impl Freeze for NodeId",1,["flux_syntax::surface::NodeId"]],["impl Freeze for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl Freeze for Item",1,["flux_syntax::surface::Item"]],["impl Freeze for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl Freeze for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl Freeze for Generics",1,["flux_syntax::surface::Generics"]],["impl Freeze for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl Freeze for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl Freeze for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl Freeze for StructDef",1,["flux_syntax::surface::StructDef"]],["impl Freeze for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl Freeze for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl Freeze for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl Freeze for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl Freeze for QualNames",1,["flux_syntax::surface::QualNames"]],["impl Freeze for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl Freeze for Sort",1,["flux_syntax::surface::Sort"]],["impl Freeze for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl Freeze for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl Freeze for FnSig",1,["flux_syntax::surface::FnSig"]],["impl Freeze for Constraint",1,["flux_syntax::surface::Constraint"]],["impl Freeze for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl Freeze for Async",1,["flux_syntax::surface::Async"]],["impl Freeze for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl Freeze for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl Freeze for Arg",1,["flux_syntax::surface::Arg"]],["impl Freeze for Ty",1,["flux_syntax::surface::Ty"]],["impl Freeze for TyKind",1,["flux_syntax::surface::TyKind"]],["impl Freeze for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl Freeze for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl Freeze for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl Freeze for Indices",1,["flux_syntax::surface::Indices"]],["impl Freeze for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl Freeze for BindKind",1,["flux_syntax::surface::BindKind"]],["impl Freeze for Path",1,["flux_syntax::surface::Path"]],["impl Freeze for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl Freeze for Expr",1,["flux_syntax::surface::Expr"]],["impl Freeze for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl Freeze for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl Freeze for BinOp",1,["flux_syntax::surface::BinOp"]],["impl Freeze for UnOp",1,["flux_syntax::surface::UnOp"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl Freeze for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl Freeze for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl Freeze for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl Freeze for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl Freeze for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl Freeze for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl Freeze for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl Freeze for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl Freeze for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> Freeze for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl Freeze for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl Freeze for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> Freeze for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl Freeze for UserParseError",1,["flux_syntax::UserParseError"]],["impl Freeze for ParseError",1,["flux_syntax::ParseError"]],["impl Freeze for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]],
     "xtask":[["impl Freeze for Xtask",1,["xtask::Xtask"]],["impl Freeze for XtaskCmd",1,["xtask::XtaskCmd"]],["impl Freeze for Test",1,["xtask::Test"]],["impl Freeze for Run",1,["xtask::Run"]],["impl Freeze for Expand",1,["xtask::Expand"]],["impl Freeze for Install",1,["xtask::Install"]],["impl Freeze for Uninstall",1,["xtask::Uninstall"]],["impl Freeze for BuildSysroot",1,["xtask::BuildSysroot"]],["impl Freeze for Doc",1,["xtask::Doc"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.Send.js b/doc/trait.impl/core/marker/trait.Send.js
    index ed82039ab0..54d8578312 100644
    --- a/doc/trait.impl/core/marker/trait.Send.js
    +++ b/doc/trait.impl/core/marker/trait.Send.js
    @@ -5,11 +5,11 @@
     "flux_driver":[["impl Send for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> !Send for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl Send for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Send for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Send for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl Send for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Send for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Send for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl Send for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl Send for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Send for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> !Send for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl Send for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl Send for Specs",1,["flux_driver::collector::Specs"]],["impl Send for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl Send for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl Send for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl Send for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Send for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Send for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Send for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl !Send for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl Send for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl Send for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl Send for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl Send for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl Send for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> !Send for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl Send for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> !Send for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl Send for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Send for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Send for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> Send for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Send for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl Send for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Send for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Send for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Send for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Send for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl Send for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> Send for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Send for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Send for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> Send for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl Send for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Send for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> Send for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Send for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> Send for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl Send for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Send for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Send for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> !Send for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> !Send for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl Send for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl Send for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl Send for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Send for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> Send for Constraint<Tag>where\n    Tag: Send,",1,["flux_fixpoint::constraint::Constraint"]],["impl Send for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Send for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Send for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Send for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl Send for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl Send for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl Send for Func",1,["flux_fixpoint::constraint::Func"]],["impl Send for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl Send for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl Send for Const",1,["flux_fixpoint::constraint::Const"]],["impl Send for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Send for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Send for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl Send for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl Send for Name",1,["flux_fixpoint::constraint::Name"]],["impl Send for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> Send for PredTag<'a, Tag>where\n    Tag: Sync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> Send for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl Send for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> Send for Task<Tag>where\n    Tag: Send,",1,["flux_fixpoint::Task"]],["impl<Tag> Send for FixpointResult<Tag>where\n    Tag: Send,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Send for Error<Tag>where\n    Tag: Send,",1,["flux_fixpoint::Error"]],["impl Send for Stats",1,["flux_fixpoint::Stats"]],["impl Send for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl Send for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl Send for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Send for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> Send for Constraint<T>where\n    <T as Types>::KVar: Send,\n    <T as Types>::Tag: Send,\n    <T as Types>::Var: Send,",1,["flux_fixpoint::constraint::Constraint"]],["impl Send for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Send for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Send for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Send for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> Send for Pred<T>where\n    <T as Types>::KVar: Send,\n    <T as Types>::Var: Send,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> Send for Expr<T>where\n    <T as Types>::Var: Send,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> Send for Func<T>where\n    <T as Types>::Var: Send,",1,["flux_fixpoint::constraint::Func"]],["impl Send for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> Send for Qualifier<T>where\n    <T as Types>::Var: Send,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> Send for Const<T>where\n    <T as Types>::Var: Send,",1,["flux_fixpoint::constraint::Const"]],["impl Send for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Send for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Send for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> Send for PredTag<'a, T>where\n    <T as Types>::KVar: Sync,\n    <T as Types>::Tag: Sync,\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> Send for FmtParens<'a, T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::FmtParens"]],["impl Send for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> Send for ConstInfo<T>where\n    <T as Types>::Var: Send,",1,["flux_fixpoint::ConstInfo"]],["impl<T> Send for Task<T>where\n    <T as Types>::KVar: Send,\n    <T as Types>::Tag: Send,\n    <T as Types>::Var: Send,",1,["flux_fixpoint::Task"]],["impl<Tag> Send for FixpointResult<Tag>where\n    Tag: Send,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Send for Error<Tag>where\n    Tag: Send,",1,["flux_fixpoint::Error"]],["impl Send for Stats",1,["flux_fixpoint::Stats"]],["impl Send for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> Send for KVar<T>where\n    <T as Types>::KVar: Send,",1,["flux_fixpoint::KVar"]]],
     "flux_macros":[["impl<'a> !Send for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> !Send for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl Send for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl !Send for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl !Send for DiagnosticDeriveBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveBuilder"]],["impl<'parent> !Send for DiagnosticDeriveVariantBuilder<'parent>",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl Send for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl !Send for SubdiagnosticDeriveBuilder",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveBuilder"]],["impl<'parent, 'a> !Send for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl Send for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'ty> !Send for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]],["impl<'a> !Send for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl Send for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Send for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Send for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl !Send for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl !Send for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]]],
     "flux_metadata":[["impl<'a> Send for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !Send for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> !Send for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl Send for CStore",1,["flux_metadata::CStore"]],["impl Send for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl Send for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> Send for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> !Send for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl Send for Generics",1,["flux_middle::fhir::Generics"]],["impl Send for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl Send for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl Send for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl Send for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl Send for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl Send for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl Send for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl Send for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl Send for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl Send for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl Send for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl Send for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl Send for Map",1,["flux_middle::fhir::Map"]],["impl Send for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl Send for StructDef",1,["flux_middle::fhir::StructDef"]],["impl Send for StructKind",1,["flux_middle::fhir::StructKind"]],["impl Send for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl Send for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl Send for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl Send for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl Send for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl Send for FnSig",1,["flux_middle::fhir::FnSig"]],["impl Send for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl Send for Constraint",1,["flux_middle::fhir::Constraint"]],["impl Send for Ty",1,["flux_middle::fhir::Ty"]],["impl Send for TyKind",1,["flux_middle::fhir::TyKind"]],["impl Send for MutTy",1,["flux_middle::fhir::MutTy"]],["impl Send for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl Send for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl Send for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl Send for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl Send for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> Send for LocalTableInContext<'a, T>where\n    T: Sync,",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> Send for LocalTableInContextMut<'a, T>where\n    T: Send,",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl Send for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl Send for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl Send for FhirId",1,["flux_middle::fhir::FhirId"]],["impl Send for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl Send for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl Send for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl Send for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl Send for QPath",1,["flux_middle::fhir::QPath"]],["impl Send for Path",1,["flux_middle::fhir::Path"]],["impl Send for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl Send for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl Send for Res",1,["flux_middle::fhir::Res"]],["impl Send for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl Send for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl Send for InferMode",1,["flux_middle::fhir::InferMode"]],["impl Send for SortVid",1,["flux_middle::fhir::SortVid"]],["impl Send for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl Send for Sort",1,["flux_middle::fhir::Sort"]],["impl Send for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl Send for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl Send for Expr",1,["flux_middle::fhir::Expr"]],["impl Send for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl Send for Func",1,["flux_middle::fhir::Func"]],["impl Send for Lit",1,["flux_middle::fhir::Lit"]],["impl Send for Ident",1,["flux_middle::fhir::Ident"]],["impl Send for Name",1,["flux_middle::fhir::Name"]],["impl Send for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl Send for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl Send for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl Send for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !Send for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> Send for Interned<T>where\n    T: Send + Sync,",1,["flux_middle::intern::Interned"]],["impl<T: ?Sized> Send for InternStorage<T>where\n    T: Send + Sync,",1,["flux_middle::intern::InternStorage"]],["impl Send for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> !Send for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> !Send for WithCx<'a, 'tcx, T>",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> Send for Join<'a, I>where\n    I: Send,",1,["flux_middle::pretty::Join"]],["impl<'a, T> Send for Parens<'a, T>where\n    T: Sync,",1,["flux_middle::pretty::Parens"]],["impl Send for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl Send for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !Send for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl Send for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl Send for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl Send for EVar",1,["flux_middle::rty::evars::EVar"]],["impl Send for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl Send for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl Send for EVid",1,["flux_middle::rty::evars::EVid"]],["impl Send for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl Send for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl Send for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl Send for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl Send for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl Send for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl Send for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl Send for KVar",1,["flux_middle::rty::expr::KVar"]],["impl Send for Var",1,["flux_middle::rty::expr::Var"]],["impl Send for Path",1,["flux_middle::rty::expr::Path"]],["impl Send for Loc",1,["flux_middle::rty::expr::Loc"]],["impl Send for KVid",1,["flux_middle::rty::expr::KVid"]],["impl Send for Name",1,["flux_middle::rty::expr::Name"]],["impl Send for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> Send for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl Send for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> !Send for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl Send for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl Send for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> !Send for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl Send for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> Send for BoundVarReplacer<D>where\n    D: Send,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> Send for FnMutDelegate<F1, F2>where\n    F1: Send,\n    F2: Send,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> Send for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> Send for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl Send for Generics",1,["flux_middle::rty::Generics"]],["impl Send for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl Send for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl Send for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl Send for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl Send for Clause",1,["flux_middle::rty::Clause"]],["impl Send for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl Send for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl Send for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl Send for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl Send for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl Send for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl Send for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl Send for SortVar",1,["flux_middle::rty::SortVar"]],["impl Send for Sort",1,["flux_middle::rty::Sort"]],["impl Send for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl Send for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl Send for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl Send for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> Send for Opaqueness<T>where\n    T: Send,",1,["flux_middle::rty::Opaqueness"]],["impl Send for Invariant",1,["flux_middle::rty::Invariant"]],["impl Send for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl Send for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> Send for Binder<T>where\n    T: Send,",1,["flux_middle::rty::Binder"]],["impl<T> Send for EarlyBinder<T>where\n    T: Send,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> Send for TupleTree<T>where\n    T: Send + Sync,",1,["flux_middle::rty::TupleTree"]],["impl Send for FnSig",1,["flux_middle::rty::FnSig"]],["impl Send for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl Send for Constraint",1,["flux_middle::rty::Constraint"]],["impl Send for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl Send for Defn",1,["flux_middle::rty::Defn"]],["impl Send for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl Send for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl Send for TyS",1,["flux_middle::rty::TyS"]],["impl Send for TyKind",1,["flux_middle::rty::TyKind"]],["impl Send for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl Send for Index",1,["flux_middle::rty::Index"]],["impl Send for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl Send for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl Send for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl Send for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl Send for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !Send for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> Send for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl Send for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> Send for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> Send for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl Send for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> Send for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl Send for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl Send for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl Send for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl Send for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl Send for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl Send for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl Send for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl Send for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl Send for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl Send for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl Send for Place",1,["flux_middle::rustc::mir::Place"]],["impl Send for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl Send for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl Send for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl Send for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> Send for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> Send for EarlyBinder<T>where\n    T: Send,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> Send for Binder<T>where\n    T: Send,",1,["flux_middle::rustc::ty::Binder"]],["impl Send for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl Send for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl Send for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl Send for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl Send for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl Send for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl Send for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl Send for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl Send for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl Send for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl Send for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl Send for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl Send for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl Send for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl Send for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl Send for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl Send for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl Send for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl Send for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl Send for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl Send for Const",1,["flux_middle::rustc::ty::Const"]],["impl Send for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl Send for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl Send for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> Send for ClosureArgsParts<'a, T>where\n    T: Sync,",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> Send for GeneratorArgsParts<'a, T>where\n    T: Sync,",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl Send for Region",1,["flux_middle::rustc::ty::Region"]],["impl Send for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl Send for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> Send for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl Send for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl Send for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> !Send for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl Send for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl Send for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Send for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Send for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !Send for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Send for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Send for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Send for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Send for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !Send for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !Send for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !Send for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Send for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Send for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Send for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Send for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Send for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Send for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Send for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Send for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> Send for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Send for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Send for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !Send for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Send for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Send for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Send for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Send for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Send for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Send for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Send for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Send for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Send for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Send for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Send for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Send for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Send for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Send for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Send for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Send for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Send for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Send for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Send for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Send for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Send for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Send for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !Send for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !Send for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !Send for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !Send for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Send for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !Send for Node",1,["flux_refineck::refine_tree::Node"]],["impl !Send for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !Send for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Send for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !Send for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Send for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !Send for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Send for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Send for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Send for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Send for SigTable<T, N>where\n    T: Send,",1,["flux_refineck::sigs::SigTable"]],["impl Send for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Send for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Send for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Send for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !Send for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Send for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !Send for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Send for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Send for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Send for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Send for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Send for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Send for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Send for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Send for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Send for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Send for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Send for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Send for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Send for DivError",1,["flux_refineck::errors::DivError"]],["impl Send for RemError",1,["flux_refineck::errors::RemError"]],["impl Send for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Send for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Send for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Send for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl Send for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Send for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Send for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !Send for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Send for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Send for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Send for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Send for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !Send for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !Send for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !Send for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Send for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Send for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Send for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Send for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl Send for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl Send for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Send for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl Send for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Send for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Send for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Send for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Send for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Send for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl Send for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> Send for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Send for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Send for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !Send for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Send for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Send for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Send for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Send for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Send for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Send for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Send for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Send for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Send for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Send for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Send for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Send for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Send for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Send for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Send for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Send for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Send for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Send for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Send for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Send for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Send for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Send for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !Send for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !Send for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !Send for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !Send for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Send for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !Send for Node",1,["flux_refineck::refine_tree::Node"]],["impl !Send for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !Send for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Send for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !Send for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Send for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !Send for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Send for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Send for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Send for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Send for SigTable<T, N>where\n    T: Send,",1,["flux_refineck::sigs::SigTable"]],["impl Send for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Send for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Send for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Send for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !Send for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Send for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !Send for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Send for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Send for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Send for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Send for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Send for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Send for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Send for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Send for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Send for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Send for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Send for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Send for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Send for DivError",1,["flux_refineck::errors::DivError"]],["impl Send for RemError",1,["flux_refineck::errors::RemError"]],["impl Send for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Send for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Send for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Send for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl Send for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> !Send for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl Send for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> !Send for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl Send for Location",1,["flux_syntax::lexer::Location"]],["impl Send for NodeId",1,["flux_syntax::surface::NodeId"]],["impl Send for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl Send for Item",1,["flux_syntax::surface::Item"]],["impl Send for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl Send for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl Send for Generics",1,["flux_syntax::surface::Generics"]],["impl Send for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl Send for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl Send for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl Send for StructDef",1,["flux_syntax::surface::StructDef"]],["impl Send for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl Send for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl Send for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl Send for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl Send for QualNames",1,["flux_syntax::surface::QualNames"]],["impl Send for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl Send for Sort",1,["flux_syntax::surface::Sort"]],["impl Send for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl Send for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl Send for FnSig",1,["flux_syntax::surface::FnSig"]],["impl Send for Constraint",1,["flux_syntax::surface::Constraint"]],["impl Send for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl Send for Async",1,["flux_syntax::surface::Async"]],["impl Send for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl Send for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl Send for Arg",1,["flux_syntax::surface::Arg"]],["impl Send for Ty",1,["flux_syntax::surface::Ty"]],["impl Send for TyKind",1,["flux_syntax::surface::TyKind"]],["impl Send for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl Send for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl Send for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl Send for Indices",1,["flux_syntax::surface::Indices"]],["impl Send for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl Send for BindKind",1,["flux_syntax::surface::BindKind"]],["impl Send for Path",1,["flux_syntax::surface::Path"]],["impl Send for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl Send for Expr",1,["flux_syntax::surface::Expr"]],["impl Send for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl Send for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl Send for BinOp",1,["flux_syntax::surface::BinOp"]],["impl Send for UnOp",1,["flux_syntax::surface::UnOp"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl Send for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl Send for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl Send for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl Send for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl Send for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl Send for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl Send for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl Send for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl Send for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> Send for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl Send for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl Send for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> Send for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl Send for UserParseError",1,["flux_syntax::UserParseError"]],["impl Send for ParseError",1,["flux_syntax::ParseError"]],["impl Send for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]],
     "xtask":[["impl Send for Xtask",1,["xtask::Xtask"]],["impl Send for XtaskCmd",1,["xtask::XtaskCmd"]],["impl Send for Test",1,["xtask::Test"]],["impl Send for Run",1,["xtask::Run"]],["impl Send for Expand",1,["xtask::Expand"]],["impl Send for Install",1,["xtask::Install"]],["impl Send for Uninstall",1,["xtask::Uninstall"]],["impl Send for BuildSysroot",1,["xtask::BuildSysroot"]],["impl Send for Doc",1,["xtask::Doc"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.StructuralEq.js b/doc/trait.impl/core/marker/trait.StructuralEq.js
    index f948510cce..e0f12a024b 100644
    --- a/doc/trait.impl/core/marker/trait.StructuralEq.js
    +++ b/doc/trait.impl/core/marker/trait.StructuralEq.js
    @@ -1,9 +1,9 @@
     (function() {var implementors = {
    -"flux_desugar":[["impl StructuralEq for ResKey"],["impl StructuralEq for ScopeId"]],
    +"flux_desugar":[["impl StructuralEq for ScopeId"],["impl StructuralEq for ResKey"]],
     "flux_driver":[["impl StructuralEq for IgnoreKey"]],
    -"flux_fixpoint":[["impl StructuralEq for ConstName"],["impl StructuralEq for Sign"],["impl StructuralEq for BinOp"],["impl StructuralEq for UnOp"],["impl StructuralEq for KVid"],["impl StructuralEq for Constant"],["impl StructuralEq for BigInt"],["impl StructuralEq for Name"]],
    +"flux_fixpoint":[["impl StructuralEq for UnOp"],["impl StructuralEq for BinOp"],["impl StructuralEq for BigInt"],["impl StructuralEq for Sign"],["impl StructuralEq for Constant"]],
     "flux_macros":[["impl StructuralEq for DiagnosticDeriveKind"]],
    -"flux_middle":[["impl StructuralEq for EVar"],["impl StructuralEq for FluxOwnerId"],["impl StructuralEq for TraitRef"],["impl StructuralEq for SortVar"],["impl StructuralEq for FnSig"],["impl StructuralEq for AliasTy"],["impl StructuralEq for AliasKind"],["impl StructuralEq for BaseTy"],["impl StructuralEq for BoundVariableKind"],["impl StructuralEq for Place"],["impl StructuralEq for KVid"],["impl StructuralEq for TyS"],["impl StructuralEq for GenericParamDefKind"],["impl StructuralEq for GenericParamDefKind"],["impl StructuralEq for GenericArg"],["impl StructuralEq for InferMode"],["impl StructuralEq for VariantSig"],["impl StructuralEq for TraitPredicate"],["impl<T> StructuralEq for Binder<T>"],["impl StructuralEq for RefineParam"],["impl StructuralEq for SortVid"],["impl StructuralEq for GenericParamDef"],["impl StructuralEq for Index"],["impl StructuralEq for Precedence"],["impl StructuralEq for PtrKind"],["impl StructuralEq for Invariant"],["impl StructuralEq for Var"],["impl StructuralEq for Loc"],["impl StructuralEq for Constraint"],["impl StructuralEq for WeakKind"],["impl StructuralEq for PlaceElem"],["impl<T> StructuralEq for Binder<T>"],["impl StructuralEq for PolyFuncSort"],["impl StructuralEq for Name"],["impl<T> StructuralEq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl StructuralEq for TyKind"],["impl StructuralEq for ExprKind"],["impl StructuralEq for ItemLocalId"],["impl StructuralEq for ProjectionPredicate"],["impl StructuralEq for AliasKind"],["impl StructuralEq for ClauseKind"],["impl StructuralEq for TraitPredicate"],["impl StructuralEq for BoundRegion"],["impl StructuralEq for FhirId"],["impl StructuralEq for ClauseKind"],["impl StructuralEq for Const"],["impl StructuralEq for EVid"],["impl StructuralEq for Region"],["impl StructuralEq for ExprS"],["impl StructuralEq for AdtDefData"],["impl StructuralEq for SortCtor"],["impl StructuralEq for HoleKind"],["impl StructuralEq for EVarCxId"],["impl StructuralEq for FluxLocalDefId"],["impl StructuralEq for AdtDef"],["impl StructuralEq for AdtDef"],["impl StructuralEq for PolyFuncSort"],["impl StructuralEq for FnTraitPredicate"],["impl StructuralEq for FieldDef"],["impl StructuralEq for BinOp"],["impl StructuralEq for Clause"],["impl StructuralEq for BoundVariableKind"],["impl StructuralEq for Sort"],["impl StructuralEq for Path"],["impl StructuralEq for Name"],["impl StructuralEq for ValueConst"],["impl StructuralEq for GenericParamDef"],["impl StructuralEq for Clause"],["impl StructuralEq for AliasTy"],["impl StructuralEq for AdtDefData"],["impl StructuralEq for FuncSort"],["impl StructuralEq for TyS"],["impl StructuralEq for FuncKind"],["impl StructuralEq for FuncSort"],["impl StructuralEq for KVar"],["impl StructuralEq for FreeRegion"],["impl StructuralEq for GeneratorObligPredicate"],["impl StructuralEq for Sort"],["impl StructuralEq for TraitRef"],["impl StructuralEq for VariantDef"],["impl StructuralEq for SortCtor"],["impl StructuralEq for Ty"],["impl StructuralEq for GenericArg"],["impl StructuralEq for Res"],["impl StructuralEq for SpanData"],["impl StructuralEq for ESpan"],["impl StructuralEq for TyKind"],["impl StructuralEq for ProjectionPredicate"]],
    -"flux_refineck":[["impl StructuralEq for Scope"],["impl StructuralEq for ConstrReason"],["impl StructuralEq for Tag"],["impl StructuralEq for LocKind"],["impl StructuralEq for StateData"],["impl StructuralEq for Point"],["impl StructuralEq for TagIdx"],["impl StructuralEq for Key"],["impl StructuralEq for ValueIndex"],["impl StructuralEq for PlaceIndex"],["impl StructuralEq for State"]],
    +"flux_middle":[["impl StructuralEq for FuncSort"],["impl<T> StructuralEq for Binder<T>"],["impl StructuralEq for EVar"],["impl StructuralEq for AdtDefData"],["impl StructuralEq for Clause"],["impl StructuralEq for BoundRegion"],["impl StructuralEq for GenericArg"],["impl StructuralEq for ValueConst"],["impl StructuralEq for GenericParamDef"],["impl StructuralEq for GenericParamDef"],["impl StructuralEq for AliasKind"],["impl StructuralEq for Var"],["impl StructuralEq for Clause"],["impl StructuralEq for FuncKind"],["impl StructuralEq for VariantSig"],["impl StructuralEq for AdtDef"],["impl StructuralEq for FluxLocalDefId"],["impl StructuralEq for ItemLocalId"],["impl StructuralEq for Const"],["impl StructuralEq for FieldDef"],["impl StructuralEq for FnSig"],["impl StructuralEq for TraitRef"],["impl StructuralEq for Sort"],["impl StructuralEq for Place"],["impl StructuralEq for HoleKind"],["impl StructuralEq for Constraint"],["impl StructuralEq for InferMode"],["impl StructuralEq for Path"],["impl StructuralEq for PtrKind"],["impl StructuralEq for FhirId"],["impl StructuralEq for ExprKind"],["impl StructuralEq for BoundVariableKind"],["impl StructuralEq for TyS"],["impl StructuralEq for PlaceElem"],["impl StructuralEq for Name"],["impl StructuralEq for AliasTy"],["impl StructuralEq for SortVar"],["impl StructuralEq for Index"],["impl StructuralEq for TyKind"],["impl StructuralEq for FluxOwnerId"],["impl StructuralEq for GenericArg"],["impl StructuralEq for TraitPredicate"],["impl StructuralEq for GenericParamDefKind"],["impl StructuralEq for Res"],["impl StructuralEq for PolyFuncSort"],["impl StructuralEq for SpanData"],["impl StructuralEq for ClauseKind"],["impl StructuralEq for BaseTy"],["impl StructuralEq for SortVid"],["impl StructuralEq for EVarCxId"],["impl StructuralEq for TraitPredicate"],["impl StructuralEq for Loc"],["impl StructuralEq for RefineParam"],["impl StructuralEq for KVar"],["impl<T> StructuralEq for Binder<T>"],["impl StructuralEq for FnTraitPredicate"],["impl StructuralEq for KVid"],["impl StructuralEq for TyKind"],["impl StructuralEq for BinOp"],["impl StructuralEq for EVid"],["impl StructuralEq for Ty"],["impl StructuralEq for ExprS"],["impl StructuralEq for ProjectionPredicate"],["impl StructuralEq for Invariant"],["impl StructuralEq for TyS"],["impl StructuralEq for AliasKind"],["impl StructuralEq for FuncSort"],["impl StructuralEq for Precedence"],["impl StructuralEq for ClauseKind"],["impl StructuralEq for Sort"],["impl StructuralEq for TraitRef"],["impl StructuralEq for SortCtor"],["impl StructuralEq for WeakKind"],["impl StructuralEq for AliasTy"],["impl StructuralEq for GenericParamDefKind"],["impl StructuralEq for BoundVariableKind"],["impl StructuralEq for ESpan"],["impl StructuralEq for VariantDef"],["impl<T> StructuralEq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl StructuralEq for ProjectionPredicate"],["impl StructuralEq for FreeRegion"],["impl StructuralEq for SortCtor"],["impl StructuralEq for GeneratorObligPredicate"],["impl StructuralEq for AdtDefData"],["impl StructuralEq for Region"],["impl StructuralEq for AdtDef"],["impl StructuralEq for PolyFuncSort"],["impl StructuralEq for Name"]],
    +"flux_refineck":[["impl StructuralEq for Key"],["impl StructuralEq for Point"],["impl StructuralEq for Scope"],["impl StructuralEq for LocalVar"],["impl StructuralEq for PlaceIndex"],["impl StructuralEq for KVid"],["impl StructuralEq for TagIdx"],["impl StructuralEq for LocKind"],["impl StructuralEq for ValueIndex"],["impl StructuralEq for ConstrReason"],["impl StructuralEq for StateData"],["impl StructuralEq for State"],["impl StructuralEq for GlobalVar"],["impl StructuralEq for Tag"]],
     "flux_syntax":[["impl StructuralEq for NodeId"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.StructuralPartialEq.js b/doc/trait.impl/core/marker/trait.StructuralPartialEq.js
    index 97d5f2aabb..e31093a054 100644
    --- a/doc/trait.impl/core/marker/trait.StructuralPartialEq.js
    +++ b/doc/trait.impl/core/marker/trait.StructuralPartialEq.js
    @@ -1,9 +1,9 @@
     (function() {var implementors = {
    -"flux_desugar":[["impl StructuralPartialEq for ScopeId"],["impl StructuralPartialEq for ResKey"]],
    +"flux_desugar":[["impl StructuralPartialEq for ResKey"],["impl StructuralPartialEq for ScopeId"]],
     "flux_driver":[["impl StructuralPartialEq for IgnoreKey"]],
    -"flux_fixpoint":[["impl StructuralPartialEq for KVid"],["impl StructuralPartialEq for Constant"],["impl StructuralPartialEq for BigInt"],["impl StructuralPartialEq for ConstName"],["impl StructuralPartialEq for Sign"],["impl StructuralPartialEq for Name"],["impl StructuralPartialEq for UnOp"],["impl StructuralPartialEq for BinOp"]],
    +"flux_fixpoint":[["impl StructuralPartialEq for Constant"],["impl StructuralPartialEq for Sign"],["impl StructuralPartialEq for BigInt"],["impl StructuralPartialEq for UnOp"],["impl StructuralPartialEq for BinOp"]],
     "flux_macros":[["impl StructuralPartialEq for SuggestionKind"],["impl StructuralPartialEq for DiagnosticDeriveKind"]],
    -"flux_middle":[["impl StructuralPartialEq for Constraint"],["impl StructuralPartialEq for TyKind"],["impl StructuralPartialEq for SortVid"],["impl StructuralPartialEq for ClauseKind"],["impl StructuralPartialEq for Ty"],["impl<T> StructuralPartialEq for Binder<T>"],["impl StructuralPartialEq for PolyFuncSort"],["impl StructuralPartialEq for Invariant"],["impl StructuralPartialEq for FluxLocalDefId"],["impl StructuralPartialEq for GenericParamDefKind"],["impl StructuralPartialEq for Precedence"],["impl StructuralPartialEq for BinOp"],["impl StructuralPartialEq for Const"],["impl StructuralPartialEq for AliasKind"],["impl StructuralPartialEq for AliasTy"],["impl StructuralPartialEq for TyS"],["impl StructuralPartialEq for FnTraitPredicate"],["impl StructuralPartialEq for BoundVariableKind"],["impl StructuralPartialEq for FuncSort"],["impl StructuralPartialEq for TraitRef"],["impl StructuralPartialEq for BoundVariableKind"],["impl StructuralPartialEq for Region"],["impl StructuralPartialEq for Name"],["impl StructuralPartialEq for Clause"],["impl StructuralPartialEq for PlaceElem"],["impl StructuralPartialEq for ClauseKind"],["impl StructuralPartialEq for SortVar"],["impl StructuralPartialEq for FieldDef"],["impl StructuralPartialEq for Var"],["impl StructuralPartialEq for SortCtor"],["impl StructuralPartialEq for TyS"],["impl StructuralPartialEq for VariantSig"],["impl StructuralPartialEq for SortCtor"],["impl StructuralPartialEq for AdtDef"],["impl StructuralPartialEq for Place"],["impl StructuralPartialEq for GenericParamDef"],["impl StructuralPartialEq for ProjectionPredicate"],["impl StructuralPartialEq for InferMode"],["impl StructuralPartialEq for KVar"],["impl StructuralPartialEq for FhirId"],["impl StructuralPartialEq for EVid"],["impl<T> StructuralPartialEq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl StructuralPartialEq for FnSig"],["impl StructuralPartialEq for HoleKind"],["impl StructuralPartialEq for AdtDefData"],["impl StructuralPartialEq for FuncSort"],["impl StructuralPartialEq for Res"],["impl StructuralPartialEq for AliasTy"],["impl StructuralPartialEq for TraitPredicate"],["impl StructuralPartialEq for BoundRegion"],["impl StructuralPartialEq for ExprS"],["impl StructuralPartialEq for GeneratorObligPredicate"],["impl StructuralPartialEq for SpanData"],["impl StructuralPartialEq for PolyFuncSort"],["impl StructuralPartialEq for KVid"],["impl StructuralPartialEq for GenericParamDef"],["impl StructuralPartialEq for Name"],["impl StructuralPartialEq for WeakKind"],["impl StructuralPartialEq for VariantDef"],["impl StructuralPartialEq for FluxOwnerId"],["impl StructuralPartialEq for EVar"],["impl StructuralPartialEq for TraitPredicate"],["impl StructuralPartialEq for Loc"],["impl StructuralPartialEq for Path"],["impl StructuralPartialEq for EVarCxId"],["impl StructuralPartialEq for ItemLocalId"],["impl StructuralPartialEq for Clause"],["impl StructuralPartialEq for FuncKind"],["impl<T> StructuralPartialEq for Binder<T>"],["impl StructuralPartialEq for AdtDef"],["impl StructuralPartialEq for BaseTy"],["impl StructuralPartialEq for ExprKind"],["impl StructuralPartialEq for Index"],["impl StructuralPartialEq for GenericArg"],["impl StructuralPartialEq for TyKind"],["impl StructuralPartialEq for AliasKind"],["impl StructuralPartialEq for TraitRef"],["impl StructuralPartialEq for FreeRegion"],["impl StructuralPartialEq for Sort"],["impl StructuralPartialEq for ESpan"],["impl StructuralPartialEq for GenericArg"],["impl StructuralPartialEq for ValueConst"],["impl StructuralPartialEq for GenericParamDefKind"],["impl StructuralPartialEq for PtrKind"],["impl StructuralPartialEq for Sort"],["impl StructuralPartialEq for ProjectionPredicate"],["impl StructuralPartialEq for AdtDefData"],["impl StructuralPartialEq for RefineParam"]],
    -"flux_refineck":[["impl StructuralPartialEq for PlaceIndex"],["impl StructuralPartialEq for StateData"],["impl StructuralPartialEq for Key"],["impl StructuralPartialEq for LocKind"],["impl StructuralPartialEq for Point"],["impl StructuralPartialEq for State"],["impl StructuralPartialEq for ConstrReason"],["impl StructuralPartialEq for TagIdx"],["impl StructuralPartialEq for Scope"],["impl StructuralPartialEq for ValueIndex"],["impl StructuralPartialEq for Tag"]],
    +"flux_middle":[["impl StructuralPartialEq for AdtDef"],["impl StructuralPartialEq for VariantDef"],["impl StructuralPartialEq for Precedence"],["impl StructuralPartialEq for GenericParamDefKind"],["impl StructuralPartialEq for SortVid"],["impl StructuralPartialEq for PlaceElem"],["impl StructuralPartialEq for TraitRef"],["impl StructuralPartialEq for SortCtor"],["impl StructuralPartialEq for Region"],["impl StructuralPartialEq for FuncSort"],["impl StructuralPartialEq for TyKind"],["impl StructuralPartialEq for GenericArg"],["impl StructuralPartialEq for AliasKind"],["impl StructuralPartialEq for SortCtor"],["impl StructuralPartialEq for Ty"],["impl StructuralPartialEq for FluxLocalDefId"],["impl StructuralPartialEq for KVid"],["impl StructuralPartialEq for AdtDefData"],["impl StructuralPartialEq for AliasKind"],["impl StructuralPartialEq for TraitPredicate"],["impl StructuralPartialEq for GenericParamDef"],["impl StructuralPartialEq for Clause"],["impl StructuralPartialEq for VariantSig"],["impl StructuralPartialEq for ClauseKind"],["impl StructuralPartialEq for Place"],["impl StructuralPartialEq for PolyFuncSort"],["impl StructuralPartialEq for Sort"],["impl StructuralPartialEq for AliasTy"],["impl StructuralPartialEq for TyS"],["impl StructuralPartialEq for TraitPredicate"],["impl StructuralPartialEq for PtrKind"],["impl StructuralPartialEq for AliasTy"],["impl StructuralPartialEq for FuncSort"],["impl StructuralPartialEq for FnTraitPredicate"],["impl StructuralPartialEq for EVar"],["impl StructuralPartialEq for GenericParamDefKind"],["impl StructuralPartialEq for ClauseKind"],["impl StructuralPartialEq for ProjectionPredicate"],["impl StructuralPartialEq for BoundVariableKind"],["impl StructuralPartialEq for GeneratorObligPredicate"],["impl StructuralPartialEq for GenericParamDef"],["impl<T> StructuralPartialEq for Binder<T>"],["impl StructuralPartialEq for AdtDefData"],["impl StructuralPartialEq for PolyFuncSort"],["impl StructuralPartialEq for HoleKind"],["impl StructuralPartialEq for FluxOwnerId"],["impl StructuralPartialEq for ProjectionPredicate"],["impl StructuralPartialEq for FhirId"],["impl<T> StructuralPartialEq for TupleTree<T>where\n    [TupleTree<T>]: Internable,"],["impl StructuralPartialEq for ValueConst"],["impl StructuralPartialEq for Constraint"],["impl StructuralPartialEq for BoundVariableKind"],["impl StructuralPartialEq for Invariant"],["impl StructuralPartialEq for RefineParam"],["impl StructuralPartialEq for Const"],["impl StructuralPartialEq for TraitRef"],["impl StructuralPartialEq for GenericArg"],["impl StructuralPartialEq for ItemLocalId"],["impl StructuralPartialEq for EVarCxId"],["impl StructuralPartialEq for Res"],["impl<T> StructuralPartialEq for Binder<T>"],["impl StructuralPartialEq for Name"],["impl StructuralPartialEq for BoundRegion"],["impl StructuralPartialEq for EVid"],["impl StructuralPartialEq for WeakKind"],["impl StructuralPartialEq for InferMode"],["impl StructuralPartialEq for Index"],["impl StructuralPartialEq for SortVar"],["impl StructuralPartialEq for FuncKind"],["impl StructuralPartialEq for ExprKind"],["impl StructuralPartialEq for ESpan"],["impl StructuralPartialEq for BinOp"],["impl StructuralPartialEq for TyS"],["impl StructuralPartialEq for Path"],["impl StructuralPartialEq for SpanData"],["impl StructuralPartialEq for KVar"],["impl StructuralPartialEq for Clause"],["impl StructuralPartialEq for Loc"],["impl StructuralPartialEq for TyKind"],["impl StructuralPartialEq for Sort"],["impl StructuralPartialEq for Name"],["impl StructuralPartialEq for ExprS"],["impl StructuralPartialEq for FnSig"],["impl StructuralPartialEq for FreeRegion"],["impl StructuralPartialEq for Var"],["impl StructuralPartialEq for AdtDef"],["impl StructuralPartialEq for FieldDef"],["impl StructuralPartialEq for BaseTy"]],
    +"flux_refineck":[["impl StructuralPartialEq for KVid"],["impl StructuralPartialEq for LocalVar"],["impl StructuralPartialEq for ValueIndex"],["impl StructuralPartialEq for Scope"],["impl StructuralPartialEq for Key"],["impl StructuralPartialEq for State"],["impl StructuralPartialEq for ConstrReason"],["impl StructuralPartialEq for LocKind"],["impl StructuralPartialEq for Point"],["impl StructuralPartialEq for StateData"],["impl StructuralPartialEq for TagIdx"],["impl StructuralPartialEq for PlaceIndex"],["impl StructuralPartialEq for Tag"],["impl StructuralPartialEq for GlobalVar"]],
     "flux_syntax":[["impl StructuralPartialEq for NodeId"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.Sync.js b/doc/trait.impl/core/marker/trait.Sync.js
    index 41b7c65559..6b4bed1323 100644
    --- a/doc/trait.impl/core/marker/trait.Sync.js
    +++ b/doc/trait.impl/core/marker/trait.Sync.js
    @@ -5,11 +5,11 @@
     "flux_driver":[["impl Sync for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> !Sync for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl Sync for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Sync for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Sync for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl Sync for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Sync for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Sync for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl Sync for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl Sync for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Sync for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> !Sync for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl Sync for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl Sync for Specs",1,["flux_driver::collector::Specs"]],["impl Sync for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl Sync for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl Sync for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl Sync for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Sync for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Sync for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Sync for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl !Sync for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl Sync for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl Sync for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl Sync for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl Sync for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl Sync for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> !Sync for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl Sync for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> !Sync for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl Sync for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Sync for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Sync for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> Sync for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Sync for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl Sync for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Sync for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Sync for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Sync for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Sync for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl Sync for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> Sync for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Sync for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Sync for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> Sync for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl Sync for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Sync for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> Sync for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Sync for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> Sync for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl Sync for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Sync for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Sync for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> !Sync for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> !Sync for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl Sync for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl Sync for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl Sync for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Sync for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> Sync for Constraint<Tag>where\n    Tag: Sync,",1,["flux_fixpoint::constraint::Constraint"]],["impl Sync for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Sync for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Sync for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Sync for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl Sync for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl Sync for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl Sync for Func",1,["flux_fixpoint::constraint::Func"]],["impl Sync for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl Sync for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl Sync for Const",1,["flux_fixpoint::constraint::Const"]],["impl Sync for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Sync for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Sync for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl Sync for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl Sync for Name",1,["flux_fixpoint::constraint::Name"]],["impl Sync for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> Sync for PredTag<'a, Tag>where\n    Tag: Sync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> Sync for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl Sync for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> Sync for Task<Tag>where\n    Tag: Sync,",1,["flux_fixpoint::Task"]],["impl<Tag> Sync for FixpointResult<Tag>where\n    Tag: Sync,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Sync for Error<Tag>where\n    Tag: Sync,",1,["flux_fixpoint::Error"]],["impl Sync for Stats",1,["flux_fixpoint::Stats"]],["impl Sync for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl Sync for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl Sync for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Sync for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> Sync for Constraint<T>where\n    <T as Types>::KVar: Sync,\n    <T as Types>::Tag: Sync,\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::Constraint"]],["impl Sync for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Sync for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Sync for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Sync for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> Sync for Pred<T>where\n    <T as Types>::KVar: Sync,\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> Sync for Expr<T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> Sync for Func<T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::Func"]],["impl Sync for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> Sync for Qualifier<T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> Sync for Const<T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::Const"]],["impl Sync for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Sync for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Sync for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> Sync for PredTag<'a, T>where\n    <T as Types>::KVar: Sync,\n    <T as Types>::Tag: Sync,\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> Sync for FmtParens<'a, T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::constraint::FmtParens"]],["impl Sync for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> Sync for ConstInfo<T>where\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::ConstInfo"]],["impl<T> Sync for Task<T>where\n    <T as Types>::KVar: Sync,\n    <T as Types>::Tag: Sync,\n    <T as Types>::Var: Sync,",1,["flux_fixpoint::Task"]],["impl<Tag> Sync for FixpointResult<Tag>where\n    Tag: Sync,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Sync for Error<Tag>where\n    Tag: Sync,",1,["flux_fixpoint::Error"]],["impl Sync for Stats",1,["flux_fixpoint::Stats"]],["impl Sync for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> Sync for KVar<T>where\n    <T as Types>::KVar: Sync,",1,["flux_fixpoint::KVar"]]],
     "flux_macros":[["impl<'a> !Sync for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> !Sync for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl Sync for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl !Sync for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl !Sync for DiagnosticDeriveBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveBuilder"]],["impl<'parent> !Sync for DiagnosticDeriveVariantBuilder<'parent>",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl Sync for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl !Sync for SubdiagnosticDeriveBuilder",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveBuilder"]],["impl<'parent, 'a> !Sync for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl Sync for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'ty> !Sync for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]],["impl<'a> !Sync for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl Sync for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Sync for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Sync for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl !Sync for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl !Sync for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]]],
     "flux_metadata":[["impl<'a> Sync for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !Sync for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> !Sync for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl Sync for CStore",1,["flux_metadata::CStore"]],["impl Sync for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl Sync for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> Sync for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> !Sync for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl Sync for Generics",1,["flux_middle::fhir::Generics"]],["impl Sync for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl Sync for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl Sync for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl Sync for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl Sync for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl Sync for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl Sync for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl Sync for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl Sync for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl Sync for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl Sync for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl Sync for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl !Sync for Map",1,["flux_middle::fhir::Map"]],["impl Sync for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl Sync for StructDef",1,["flux_middle::fhir::StructDef"]],["impl Sync for StructKind",1,["flux_middle::fhir::StructKind"]],["impl Sync for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl Sync for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl Sync for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl Sync for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl Sync for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl Sync for FnSig",1,["flux_middle::fhir::FnSig"]],["impl Sync for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl Sync for Constraint",1,["flux_middle::fhir::Constraint"]],["impl Sync for Ty",1,["flux_middle::fhir::Ty"]],["impl Sync for TyKind",1,["flux_middle::fhir::TyKind"]],["impl Sync for MutTy",1,["flux_middle::fhir::MutTy"]],["impl Sync for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl Sync for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl Sync for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl Sync for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl Sync for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> Sync for LocalTableInContext<'a, T>where\n    T: Sync,",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> Sync for LocalTableInContextMut<'a, T>where\n    T: Sync,",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl Sync for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl Sync for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl Sync for FhirId",1,["flux_middle::fhir::FhirId"]],["impl Sync for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl Sync for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl Sync for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl Sync for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl Sync for QPath",1,["flux_middle::fhir::QPath"]],["impl Sync for Path",1,["flux_middle::fhir::Path"]],["impl Sync for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl Sync for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl Sync for Res",1,["flux_middle::fhir::Res"]],["impl Sync for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl Sync for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl Sync for InferMode",1,["flux_middle::fhir::InferMode"]],["impl Sync for SortVid",1,["flux_middle::fhir::SortVid"]],["impl Sync for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl Sync for Sort",1,["flux_middle::fhir::Sort"]],["impl Sync for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl Sync for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl Sync for Expr",1,["flux_middle::fhir::Expr"]],["impl Sync for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl Sync for Func",1,["flux_middle::fhir::Func"]],["impl Sync for Lit",1,["flux_middle::fhir::Lit"]],["impl Sync for Ident",1,["flux_middle::fhir::Ident"]],["impl Sync for Name",1,["flux_middle::fhir::Name"]],["impl Sync for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl Sync for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl Sync for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl Sync for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !Sync for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> Sync for Interned<T>where\n    T: Send + Sync,",1,["flux_middle::intern::Interned"]],["impl<T: ?Sized> Sync for InternStorage<T>where\n    T: Send + Sync,",1,["flux_middle::intern::InternStorage"]],["impl Sync for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> !Sync for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> !Sync for WithCx<'a, 'tcx, T>",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> !Sync for Join<'a, I>",1,["flux_middle::pretty::Join"]],["impl<'a, T> Sync for Parens<'a, T>where\n    T: Sync,",1,["flux_middle::pretty::Parens"]],["impl Sync for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl Sync for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !Sync for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl Sync for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl Sync for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl Sync for EVar",1,["flux_middle::rty::evars::EVar"]],["impl Sync for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl Sync for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl Sync for EVid",1,["flux_middle::rty::evars::EVid"]],["impl Sync for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl Sync for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl Sync for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl Sync for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl Sync for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl Sync for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl Sync for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl Sync for KVar",1,["flux_middle::rty::expr::KVar"]],["impl Sync for Var",1,["flux_middle::rty::expr::Var"]],["impl Sync for Path",1,["flux_middle::rty::expr::Path"]],["impl Sync for Loc",1,["flux_middle::rty::expr::Loc"]],["impl Sync for KVid",1,["flux_middle::rty::expr::KVid"]],["impl Sync for Name",1,["flux_middle::rty::expr::Name"]],["impl Sync for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> Sync for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl Sync for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> !Sync for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl Sync for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl Sync for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> !Sync for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl Sync for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> Sync for BoundVarReplacer<D>where\n    D: Sync,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> Sync for FnMutDelegate<F1, F2>where\n    F1: Sync,\n    F2: Sync,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> Sync for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> Sync for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl Sync for Generics",1,["flux_middle::rty::Generics"]],["impl Sync for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl Sync for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl Sync for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl Sync for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl Sync for Clause",1,["flux_middle::rty::Clause"]],["impl Sync for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl Sync for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl Sync for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl Sync for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl Sync for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl Sync for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl Sync for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl Sync for SortVar",1,["flux_middle::rty::SortVar"]],["impl Sync for Sort",1,["flux_middle::rty::Sort"]],["impl Sync for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl Sync for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl Sync for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl Sync for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> Sync for Opaqueness<T>where\n    T: Sync,",1,["flux_middle::rty::Opaqueness"]],["impl Sync for Invariant",1,["flux_middle::rty::Invariant"]],["impl Sync for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl Sync for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> Sync for Binder<T>where\n    T: Sync,",1,["flux_middle::rty::Binder"]],["impl<T> Sync for EarlyBinder<T>where\n    T: Sync,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> Sync for TupleTree<T>where\n    T: Send + Sync,",1,["flux_middle::rty::TupleTree"]],["impl Sync for FnSig",1,["flux_middle::rty::FnSig"]],["impl Sync for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl Sync for Constraint",1,["flux_middle::rty::Constraint"]],["impl Sync for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl Sync for Defn",1,["flux_middle::rty::Defn"]],["impl Sync for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl Sync for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl Sync for TyS",1,["flux_middle::rty::TyS"]],["impl Sync for TyKind",1,["flux_middle::rty::TyKind"]],["impl Sync for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl Sync for Index",1,["flux_middle::rty::Index"]],["impl Sync for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl Sync for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl Sync for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl Sync for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl Sync for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !Sync for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> Sync for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl Sync for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> Sync for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> Sync for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl Sync for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> Sync for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl Sync for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl Sync for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl Sync for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl Sync for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl Sync for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl Sync for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl Sync for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl Sync for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl Sync for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl Sync for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl Sync for Place",1,["flux_middle::rustc::mir::Place"]],["impl Sync for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl Sync for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl Sync for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl Sync for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> Sync for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> Sync for EarlyBinder<T>where\n    T: Sync,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> Sync for Binder<T>where\n    T: Sync,",1,["flux_middle::rustc::ty::Binder"]],["impl Sync for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl Sync for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl Sync for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl Sync for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl Sync for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl Sync for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl Sync for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl Sync for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl Sync for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl Sync for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl Sync for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl Sync for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl Sync for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl Sync for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl Sync for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl Sync for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl Sync for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl Sync for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl Sync for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl Sync for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl Sync for Const",1,["flux_middle::rustc::ty::Const"]],["impl Sync for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl Sync for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl Sync for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> Sync for ClosureArgsParts<'a, T>where\n    T: Sync,",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> Sync for GeneratorArgsParts<'a, T>where\n    T: Sync,",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl Sync for Region",1,["flux_middle::rustc::ty::Region"]],["impl Sync for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl Sync for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> Sync for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl Sync for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl Sync for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> !Sync for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl Sync for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl Sync for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Sync for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Sync for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !Sync for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Sync for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Sync for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Sync for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Sync for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !Sync for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !Sync for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !Sync for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Sync for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Sync for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Sync for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Sync for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Sync for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Sync for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Sync for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Sync for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> Sync for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Sync for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Sync for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !Sync for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Sync for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Sync for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Sync for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Sync for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Sync for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Sync for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Sync for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Sync for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Sync for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Sync for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Sync for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Sync for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Sync for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Sync for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Sync for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Sync for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Sync for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Sync for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Sync for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Sync for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Sync for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Sync for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !Sync for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !Sync for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !Sync for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !Sync for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Sync for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !Sync for Node",1,["flux_refineck::refine_tree::Node"]],["impl !Sync for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !Sync for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Sync for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !Sync for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Sync for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !Sync for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Sync for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Sync for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Sync for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Sync for SigTable<T, N>where\n    T: Sync,",1,["flux_refineck::sigs::SigTable"]],["impl Sync for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Sync for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Sync for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Sync for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !Sync for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Sync for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !Sync for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Sync for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Sync for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Sync for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Sync for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Sync for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Sync for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Sync for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Sync for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Sync for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Sync for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Sync for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Sync for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Sync for DivError",1,["flux_refineck::errors::DivError"]],["impl Sync for RemError",1,["flux_refineck::errors::RemError"]],["impl Sync for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Sync for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Sync for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Sync for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl Sync for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Sync for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Sync for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !Sync for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Sync for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Sync for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Sync for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Sync for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !Sync for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !Sync for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !Sync for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Sync for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Sync for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Sync for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Sync for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl Sync for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl Sync for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Sync for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl Sync for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Sync for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Sync for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Sync for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Sync for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Sync for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl Sync for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> Sync for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Sync for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Sync for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !Sync for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Sync for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Sync for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Sync for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Sync for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Sync for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Sync for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Sync for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Sync for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Sync for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Sync for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Sync for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Sync for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Sync for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Sync for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Sync for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Sync for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Sync for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Sync for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Sync for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Sync for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Sync for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Sync for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !Sync for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !Sync for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !Sync for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !Sync for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Sync for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !Sync for Node",1,["flux_refineck::refine_tree::Node"]],["impl !Sync for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !Sync for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Sync for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !Sync for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Sync for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !Sync for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Sync for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Sync for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Sync for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Sync for SigTable<T, N>where\n    T: Sync,",1,["flux_refineck::sigs::SigTable"]],["impl Sync for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Sync for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Sync for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Sync for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !Sync for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Sync for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !Sync for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Sync for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Sync for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Sync for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Sync for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Sync for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Sync for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Sync for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Sync for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Sync for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Sync for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Sync for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Sync for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Sync for DivError",1,["flux_refineck::errors::DivError"]],["impl Sync for RemError",1,["flux_refineck::errors::RemError"]],["impl Sync for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Sync for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Sync for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Sync for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl Sync for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> !Sync for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl Sync for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> !Sync for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl Sync for Location",1,["flux_syntax::lexer::Location"]],["impl Sync for NodeId",1,["flux_syntax::surface::NodeId"]],["impl Sync for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl Sync for Item",1,["flux_syntax::surface::Item"]],["impl Sync for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl Sync for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl Sync for Generics",1,["flux_syntax::surface::Generics"]],["impl Sync for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl Sync for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl Sync for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl Sync for StructDef",1,["flux_syntax::surface::StructDef"]],["impl Sync for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl Sync for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl Sync for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl Sync for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl Sync for QualNames",1,["flux_syntax::surface::QualNames"]],["impl Sync for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl Sync for Sort",1,["flux_syntax::surface::Sort"]],["impl Sync for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl Sync for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl Sync for FnSig",1,["flux_syntax::surface::FnSig"]],["impl Sync for Constraint",1,["flux_syntax::surface::Constraint"]],["impl Sync for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl Sync for Async",1,["flux_syntax::surface::Async"]],["impl Sync for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl Sync for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl Sync for Arg",1,["flux_syntax::surface::Arg"]],["impl Sync for Ty",1,["flux_syntax::surface::Ty"]],["impl Sync for TyKind",1,["flux_syntax::surface::TyKind"]],["impl Sync for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl Sync for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl Sync for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl Sync for Indices",1,["flux_syntax::surface::Indices"]],["impl Sync for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl Sync for BindKind",1,["flux_syntax::surface::BindKind"]],["impl Sync for Path",1,["flux_syntax::surface::Path"]],["impl Sync for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl Sync for Expr",1,["flux_syntax::surface::Expr"]],["impl Sync for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl Sync for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl Sync for BinOp",1,["flux_syntax::surface::BinOp"]],["impl Sync for UnOp",1,["flux_syntax::surface::UnOp"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl Sync for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl Sync for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl Sync for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl Sync for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl Sync for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl Sync for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl Sync for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl Sync for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl Sync for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> Sync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl Sync for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl Sync for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> Sync for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl Sync for UserParseError",1,["flux_syntax::UserParseError"]],["impl Sync for ParseError",1,["flux_syntax::ParseError"]],["impl Sync for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]],
     "xtask":[["impl Sync for Xtask",1,["xtask::Xtask"]],["impl Sync for XtaskCmd",1,["xtask::XtaskCmd"]],["impl Sync for Test",1,["xtask::Test"]],["impl Sync for Run",1,["xtask::Run"]],["impl Sync for Expand",1,["xtask::Expand"]],["impl Sync for Install",1,["xtask::Install"]],["impl Sync for Uninstall",1,["xtask::Uninstall"]],["impl Sync for BuildSysroot",1,["xtask::BuildSysroot"]],["impl Sync for Doc",1,["xtask::Doc"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/marker/trait.Unpin.js b/doc/trait.impl/core/marker/trait.Unpin.js
    index c0daf83836..e596edfe0e 100644
    --- a/doc/trait.impl/core/marker/trait.Unpin.js
    +++ b/doc/trait.impl/core/marker/trait.Unpin.js
    @@ -5,11 +5,11 @@
     "flux_driver":[["impl Unpin for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> Unpin for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl Unpin for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Unpin for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Unpin for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl Unpin for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Unpin for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Unpin for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl Unpin for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl Unpin for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Unpin for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> Unpin for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl Unpin for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl Unpin for Specs",1,["flux_driver::collector::Specs"]],["impl Unpin for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl Unpin for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl Unpin for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl Unpin for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Unpin for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Unpin for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Unpin for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl Unpin for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl Unpin for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl Unpin for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl Unpin for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl Unpin for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl Unpin for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> Unpin for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl Unpin for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> Unpin for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl Unpin for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Unpin for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Unpin for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> Unpin for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Unpin for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl Unpin for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Unpin for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Unpin for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Unpin for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Unpin for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl Unpin for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> Unpin for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Unpin for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Unpin for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> Unpin for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl Unpin for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Unpin for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> Unpin for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Unpin for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> Unpin for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl Unpin for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Unpin for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Unpin for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> Unpin for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> Unpin for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl Unpin for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl Unpin for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl Unpin for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Unpin for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> Unpin for Constraint<Tag>where\n    Tag: Unpin,",1,["flux_fixpoint::constraint::Constraint"]],["impl Unpin for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Unpin for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Unpin for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Unpin for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl Unpin for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl Unpin for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl Unpin for Func",1,["flux_fixpoint::constraint::Func"]],["impl Unpin for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl Unpin for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl Unpin for Const",1,["flux_fixpoint::constraint::Const"]],["impl Unpin for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Unpin for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Unpin for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl Unpin for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl Unpin for Name",1,["flux_fixpoint::constraint::Name"]],["impl Unpin for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> Unpin for PredTag<'a, Tag>",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> Unpin for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl Unpin for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> Unpin for Task<Tag>where\n    Tag: Unpin,",1,["flux_fixpoint::Task"]],["impl<Tag> Unpin for FixpointResult<Tag>where\n    Tag: Unpin,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Unpin for Error<Tag>where\n    Tag: Unpin,",1,["flux_fixpoint::Error"]],["impl Unpin for Stats",1,["flux_fixpoint::Stats"]],["impl Unpin for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl Unpin for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl Unpin for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl Unpin for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> Unpin for Constraint<T>where\n    <T as Types>::KVar: Unpin,\n    <T as Types>::Tag: Unpin,\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::constraint::Constraint"]],["impl Unpin for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl Unpin for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl Unpin for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl Unpin for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> Unpin for Pred<T>where\n    <T as Types>::KVar: Unpin,\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> Unpin for Expr<T>where\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> Unpin for Func<T>where\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::constraint::Func"]],["impl Unpin for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> Unpin for Qualifier<T>where\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> Unpin for Const<T>where\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::constraint::Const"]],["impl Unpin for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl Unpin for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl Unpin for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> Unpin for PredTag<'a, T>",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> Unpin for FmtParens<'a, T>",1,["flux_fixpoint::constraint::FmtParens"]],["impl Unpin for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> Unpin for ConstInfo<T>where\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::ConstInfo"]],["impl<T> Unpin for Task<T>where\n    <T as Types>::KVar: Unpin,\n    <T as Types>::Tag: Unpin,\n    <T as Types>::Var: Unpin,",1,["flux_fixpoint::Task"]],["impl<Tag> Unpin for FixpointResult<Tag>where\n    Tag: Unpin,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> Unpin for Error<Tag>where\n    Tag: Unpin,",1,["flux_fixpoint::Error"]],["impl Unpin for Stats",1,["flux_fixpoint::Stats"]],["impl Unpin for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> Unpin for KVar<T>where\n    <T as Types>::KVar: Unpin,",1,["flux_fixpoint::KVar"]]],
     "flux_macros":[["impl<'a> Unpin for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> Unpin for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl Unpin for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl Unpin for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl Unpin for DiagnosticDeriveBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveBuilder"]],["impl<'parent> Unpin for DiagnosticDeriveVariantBuilder<'parent>",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl Unpin for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl Unpin for SubdiagnosticDeriveBuilder",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveBuilder"]],["impl<'parent, 'a> Unpin for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl Unpin for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'ty> Unpin for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]],["impl<'a> Unpin for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl Unpin for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Unpin for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Unpin for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl Unpin for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl Unpin for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]]],
     "flux_metadata":[["impl<'a> Unpin for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> Unpin for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> Unpin for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl Unpin for CStore",1,["flux_metadata::CStore"]],["impl Unpin for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl Unpin for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> Unpin for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> Unpin for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl Unpin for Generics",1,["flux_middle::fhir::Generics"]],["impl Unpin for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl Unpin for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl Unpin for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl Unpin for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl Unpin for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl Unpin for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl Unpin for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl Unpin for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl Unpin for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl Unpin for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl Unpin for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl Unpin for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl Unpin for Map",1,["flux_middle::fhir::Map"]],["impl Unpin for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl Unpin for StructDef",1,["flux_middle::fhir::StructDef"]],["impl Unpin for StructKind",1,["flux_middle::fhir::StructKind"]],["impl Unpin for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl Unpin for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl Unpin for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl Unpin for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl Unpin for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl Unpin for FnSig",1,["flux_middle::fhir::FnSig"]],["impl Unpin for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl Unpin for Constraint",1,["flux_middle::fhir::Constraint"]],["impl Unpin for Ty",1,["flux_middle::fhir::Ty"]],["impl Unpin for TyKind",1,["flux_middle::fhir::TyKind"]],["impl Unpin for MutTy",1,["flux_middle::fhir::MutTy"]],["impl Unpin for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl Unpin for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl Unpin for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl Unpin for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl Unpin for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> Unpin for LocalTableInContext<'a, T>",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> Unpin for LocalTableInContextMut<'a, T>",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl Unpin for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl Unpin for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl Unpin for FhirId",1,["flux_middle::fhir::FhirId"]],["impl Unpin for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl Unpin for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl Unpin for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl Unpin for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl Unpin for QPath",1,["flux_middle::fhir::QPath"]],["impl Unpin for Path",1,["flux_middle::fhir::Path"]],["impl Unpin for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl Unpin for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl Unpin for Res",1,["flux_middle::fhir::Res"]],["impl Unpin for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl Unpin for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl Unpin for InferMode",1,["flux_middle::fhir::InferMode"]],["impl Unpin for SortVid",1,["flux_middle::fhir::SortVid"]],["impl Unpin for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl Unpin for Sort",1,["flux_middle::fhir::Sort"]],["impl Unpin for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl Unpin for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl Unpin for Expr",1,["flux_middle::fhir::Expr"]],["impl Unpin for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl Unpin for Func",1,["flux_middle::fhir::Func"]],["impl Unpin for Lit",1,["flux_middle::fhir::Lit"]],["impl Unpin for Ident",1,["flux_middle::fhir::Ident"]],["impl Unpin for Name",1,["flux_middle::fhir::Name"]],["impl Unpin for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl Unpin for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl Unpin for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl Unpin for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> Unpin for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> Unpin for Interned<T>",1,["flux_middle::intern::Interned"]],["impl<T: ?Sized> Unpin for InternStorage<T>",1,["flux_middle::intern::InternStorage"]],["impl Unpin for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> Unpin for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> Unpin for WithCx<'a, 'tcx, T>where\n    T: Unpin,",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> Unpin for Join<'a, I>where\n    I: Unpin,",1,["flux_middle::pretty::Join"]],["impl<'a, T> Unpin for Parens<'a, T>",1,["flux_middle::pretty::Parens"]],["impl Unpin for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl Unpin for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> Unpin for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl Unpin for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl Unpin for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl Unpin for EVar",1,["flux_middle::rty::evars::EVar"]],["impl Unpin for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl Unpin for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl Unpin for EVid",1,["flux_middle::rty::evars::EVid"]],["impl Unpin for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl Unpin for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl Unpin for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl Unpin for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl Unpin for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl Unpin for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl Unpin for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl Unpin for KVar",1,["flux_middle::rty::expr::KVar"]],["impl Unpin for Var",1,["flux_middle::rty::expr::Var"]],["impl Unpin for Path",1,["flux_middle::rty::expr::Path"]],["impl Unpin for Loc",1,["flux_middle::rty::expr::Loc"]],["impl Unpin for KVid",1,["flux_middle::rty::expr::KVid"]],["impl Unpin for Name",1,["flux_middle::rty::expr::Name"]],["impl Unpin for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> Unpin for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl Unpin for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> Unpin for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl Unpin for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl Unpin for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> Unpin for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl Unpin for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> Unpin for BoundVarReplacer<D>where\n    D: Unpin,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> Unpin for FnMutDelegate<F1, F2>where\n    F1: Unpin,\n    F2: Unpin,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> Unpin for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> Unpin for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl Unpin for Generics",1,["flux_middle::rty::Generics"]],["impl Unpin for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl Unpin for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl Unpin for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl Unpin for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl Unpin for Clause",1,["flux_middle::rty::Clause"]],["impl Unpin for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl Unpin for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl Unpin for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl Unpin for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl Unpin for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl Unpin for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl Unpin for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl Unpin for SortVar",1,["flux_middle::rty::SortVar"]],["impl Unpin for Sort",1,["flux_middle::rty::Sort"]],["impl Unpin for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl Unpin for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl Unpin for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl Unpin for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> Unpin for Opaqueness<T>where\n    T: Unpin,",1,["flux_middle::rty::Opaqueness"]],["impl Unpin for Invariant",1,["flux_middle::rty::Invariant"]],["impl Unpin for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl Unpin for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> Unpin for Binder<T>where\n    T: Unpin,",1,["flux_middle::rty::Binder"]],["impl<T> Unpin for EarlyBinder<T>where\n    T: Unpin,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> Unpin for TupleTree<T>where\n    T: Unpin,",1,["flux_middle::rty::TupleTree"]],["impl Unpin for FnSig",1,["flux_middle::rty::FnSig"]],["impl Unpin for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl Unpin for Constraint",1,["flux_middle::rty::Constraint"]],["impl Unpin for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl Unpin for Defn",1,["flux_middle::rty::Defn"]],["impl Unpin for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl Unpin for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl Unpin for TyS",1,["flux_middle::rty::TyS"]],["impl Unpin for TyKind",1,["flux_middle::rty::TyKind"]],["impl Unpin for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl Unpin for Index",1,["flux_middle::rty::Index"]],["impl Unpin for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl Unpin for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl Unpin for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl Unpin for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl Unpin for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> Unpin for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> Unpin for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl Unpin for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> Unpin for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> Unpin for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl Unpin for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> Unpin for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl Unpin for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl Unpin for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl Unpin for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl Unpin for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl Unpin for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl Unpin for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl Unpin for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl Unpin for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl Unpin for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl Unpin for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl Unpin for Place",1,["flux_middle::rustc::mir::Place"]],["impl Unpin for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl Unpin for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl Unpin for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl Unpin for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> Unpin for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> Unpin for EarlyBinder<T>where\n    T: Unpin,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> Unpin for Binder<T>where\n    T: Unpin,",1,["flux_middle::rustc::ty::Binder"]],["impl Unpin for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl Unpin for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl Unpin for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl Unpin for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl Unpin for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl Unpin for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl Unpin for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl Unpin for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl Unpin for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl Unpin for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl Unpin for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl Unpin for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl Unpin for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl Unpin for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl Unpin for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl Unpin for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl Unpin for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl Unpin for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl Unpin for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl Unpin for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl Unpin for Const",1,["flux_middle::rustc::ty::Const"]],["impl Unpin for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl Unpin for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl Unpin for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> Unpin for ClosureArgsParts<'a, T>",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> Unpin for GeneratorArgsParts<'a, T>",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl Unpin for Region",1,["flux_middle::rustc::ty::Region"]],["impl Unpin for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl Unpin for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> Unpin for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl Unpin for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl Unpin for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> Unpin for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl Unpin for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl Unpin for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Unpin for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Unpin for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> Unpin for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Unpin for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Unpin for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Unpin for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Unpin for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> Unpin for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl Unpin for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> Unpin for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Unpin for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Unpin for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Unpin for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Unpin for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Unpin for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Unpin for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Unpin for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>where\n    T: Unpin,",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Unpin for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> Unpin for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Unpin for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Unpin for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> Unpin for FoldUnfoldAnalysis<'a, 'tcx, M>where\n    M: Unpin,",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Unpin for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Unpin for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Unpin for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Unpin for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Unpin for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Unpin for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Unpin for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Unpin for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Unpin for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Unpin for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Unpin for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Unpin for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Unpin for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Unpin for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Unpin for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Unpin for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Unpin for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Unpin for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Unpin for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Unpin for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Unpin for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Unpin for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl Unpin for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> Unpin for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> Unpin for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl Unpin for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Unpin for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl Unpin for Node",1,["flux_refineck::refine_tree::Node"]],["impl Unpin for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl Unpin for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Unpin for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> Unpin for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Unpin for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl Unpin for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Unpin for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Unpin for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Unpin for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Unpin for SigTable<T, N>where\n    T: Unpin,",1,["flux_refineck::sigs::SigTable"]],["impl Unpin for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Unpin for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Unpin for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Unpin for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> Unpin for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Unpin for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> Unpin for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Unpin for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Unpin for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Unpin for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Unpin for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Unpin for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Unpin for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Unpin for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Unpin for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Unpin for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Unpin for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Unpin for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Unpin for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Unpin for DivError",1,["flux_refineck::errors::DivError"]],["impl Unpin for RemError",1,["flux_refineck::errors::RemError"]],["impl Unpin for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Unpin for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Unpin for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Unpin for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl Unpin for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl Unpin for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl Unpin for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> Unpin for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl Unpin for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl Unpin for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl Unpin for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl Unpin for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> Unpin for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl Unpin for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> Unpin for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl Unpin for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl Unpin for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl Unpin for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Unpin for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl Unpin for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl Unpin for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Unpin for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl Unpin for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl Unpin for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl Unpin for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl Unpin for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl Unpin for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>where\n    T: Unpin,",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl Unpin for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl Unpin for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> Unpin for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl Unpin for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl Unpin for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> Unpin for FoldUnfoldAnalysis<'a, 'tcx, M>where\n    M: Unpin,",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl Unpin for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> Unpin for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl Unpin for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl Unpin for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl Unpin for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> Unpin for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> Unpin for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl Unpin for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl Unpin for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> Unpin for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl Unpin for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl Unpin for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl Unpin for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl Unpin for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl Unpin for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl Unpin for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl Unpin for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl Unpin for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> Unpin for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl Unpin for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> Unpin for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> Unpin for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl Unpin for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> Unpin for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> Unpin for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl Unpin for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl Unpin for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl Unpin for Node",1,["flux_refineck::refine_tree::Node"]],["impl Unpin for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl Unpin for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl Unpin for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> Unpin for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl Unpin for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl Unpin for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> Unpin for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> Unpin for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> Unpin for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> Unpin for SigTable<T, N>where\n    T: Unpin,",1,["flux_refineck::sigs::SigTable"]],["impl Unpin for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl Unpin for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl Unpin for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> Unpin for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> Unpin for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl Unpin for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> Unpin for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> Unpin for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl Unpin for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> Unpin for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl Unpin for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl Unpin for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl Unpin for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl Unpin for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl Unpin for GotoError",1,["flux_refineck::errors::GotoError"]],["impl Unpin for AssignError",1,["flux_refineck::errors::AssignError"]],["impl Unpin for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl Unpin for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl Unpin for RefineError",1,["flux_refineck::errors::RefineError"]],["impl Unpin for DivError",1,["flux_refineck::errors::DivError"]],["impl Unpin for RemError",1,["flux_refineck::errors::RemError"]],["impl Unpin for AssertError",1,["flux_refineck::errors::AssertError"]],["impl Unpin for FoldError",1,["flux_refineck::errors::FoldError"]],["impl Unpin for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl Unpin for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl Unpin for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> Unpin for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl Unpin for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> Unpin for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl Unpin for Location",1,["flux_syntax::lexer::Location"]],["impl Unpin for NodeId",1,["flux_syntax::surface::NodeId"]],["impl Unpin for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl Unpin for Item",1,["flux_syntax::surface::Item"]],["impl Unpin for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl Unpin for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl Unpin for Generics",1,["flux_syntax::surface::Generics"]],["impl Unpin for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl Unpin for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl Unpin for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl Unpin for StructDef",1,["flux_syntax::surface::StructDef"]],["impl Unpin for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl Unpin for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl Unpin for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl Unpin for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl Unpin for QualNames",1,["flux_syntax::surface::QualNames"]],["impl Unpin for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl Unpin for Sort",1,["flux_syntax::surface::Sort"]],["impl Unpin for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl Unpin for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl Unpin for FnSig",1,["flux_syntax::surface::FnSig"]],["impl Unpin for Constraint",1,["flux_syntax::surface::Constraint"]],["impl Unpin for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl Unpin for Async",1,["flux_syntax::surface::Async"]],["impl Unpin for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl Unpin for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl Unpin for Arg",1,["flux_syntax::surface::Arg"]],["impl Unpin for Ty",1,["flux_syntax::surface::Ty"]],["impl Unpin for TyKind",1,["flux_syntax::surface::TyKind"]],["impl Unpin for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl Unpin for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl Unpin for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl Unpin for Indices",1,["flux_syntax::surface::Indices"]],["impl Unpin for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl Unpin for BindKind",1,["flux_syntax::surface::BindKind"]],["impl Unpin for Path",1,["flux_syntax::surface::Path"]],["impl Unpin for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl Unpin for Expr",1,["flux_syntax::surface::Expr"]],["impl Unpin for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl Unpin for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl Unpin for BinOp",1,["flux_syntax::surface::BinOp"]],["impl Unpin for UnOp",1,["flux_syntax::surface::UnOp"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl Unpin for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl Unpin for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl Unpin for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl Unpin for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl Unpin for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl Unpin for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl Unpin for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl Unpin for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl Unpin for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> Unpin for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl Unpin for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl Unpin for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> Unpin for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl Unpin for UserParseError",1,["flux_syntax::UserParseError"]],["impl Unpin for ParseError",1,["flux_syntax::ParseError"]],["impl Unpin for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]],
     "xtask":[["impl Unpin for Xtask",1,["xtask::Xtask"]],["impl Unpin for XtaskCmd",1,["xtask::XtaskCmd"]],["impl Unpin for Test",1,["xtask::Test"]],["impl Unpin for Run",1,["xtask::Run"]],["impl Unpin for Expand",1,["xtask::Expand"]],["impl Unpin for Install",1,["xtask::Install"]],["impl Unpin for Uninstall",1,["xtask::Uninstall"]],["impl Unpin for BuildSysroot",1,["xtask::BuildSysroot"]],["impl Unpin for Doc",1,["xtask::Doc"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/ops/arith/trait.Add.js b/doc/trait.impl/core/ops/arith/trait.Add.js
    index 742c0f5409..94417c5f30 100644
    --- a/doc/trait.impl/core/ops/arith/trait.Add.js
    +++ b/doc/trait.impl/core/ops/arith/trait.Add.js
    @@ -1,5 +1,4 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl Add<usize> for Name"],["impl Add<usize> for ConstName"],["impl Add<usize> for KVid"]],
    -"flux_middle":[["impl<Rhs> Add<Rhs> for Exprwhere\n    Rhs: Into<Expr>,"],["impl<Rhs> Add<Rhs> for &Exprwhere\n    Rhs: Into<Expr>,"],["impl Add<usize> for ItemLocalId"],["impl Add<usize> for SortVid"],["impl Add<usize> for EVid"],["impl Add<usize> for Name"],["impl Add<usize> for Name"],["impl Add<usize> for KVid"]],
    -"flux_refineck":[["impl Add<usize> for PlaceIndex"],["impl Add<usize> for ValueIndex"],["impl Add<usize> for TagIdx"]]
    +"flux_middle":[["impl Add<usize> for ItemLocalId"],["impl Add<usize> for KVid"],["impl<Rhs> Add<Rhs> for Exprwhere\n    Rhs: Into<Expr>,"],["impl Add<usize> for Name"],["impl<Rhs> Add<Rhs> for &Exprwhere\n    Rhs: Into<Expr>,"],["impl Add<usize> for EVid"],["impl Add<usize> for SortVid"],["impl Add<usize> for Name"]],
    +"flux_refineck":[["impl Add<usize> for KVid"],["impl Add<usize> for TagIdx"],["impl Add<usize> for GlobalVar"],["impl Add<usize> for LocalVar"],["impl Add<usize> for ValueIndex"],["impl Add<usize> for PlaceIndex"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/ops/arith/trait.Sub.js b/doc/trait.impl/core/ops/arith/trait.Sub.js
    index 6cf315d157..533e64edef 100644
    --- a/doc/trait.impl/core/ops/arith/trait.Sub.js
    +++ b/doc/trait.impl/core/ops/arith/trait.Sub.js
    @@ -1,3 +1,3 @@
     (function() {var implementors = {
    -"flux_middle":[["impl<Rhs> Sub<Rhs> for &Exprwhere\n    Rhs: Into<Expr>,"],["impl<Rhs> Sub<Rhs> for Exprwhere\n    Rhs: Into<Expr>,"]]
    +"flux_middle":[["impl<Rhs> Sub<Rhs> for Exprwhere\n    Rhs: Into<Expr>,"],["impl<Rhs> Sub<Rhs> for &Exprwhere\n    Rhs: Into<Expr>,"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
    index 8295e8ce94..64dc410400 100644
    --- a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
    +++ b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
    @@ -5,11 +5,11 @@
     "flux_driver":[["impl RefUnwindSafe for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl RefUnwindSafe for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl RefUnwindSafe for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl RefUnwindSafe for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl RefUnwindSafe for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl RefUnwindSafe for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl RefUnwindSafe for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl RefUnwindSafe for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl RefUnwindSafe for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl RefUnwindSafe for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> !RefUnwindSafe for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl RefUnwindSafe for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl RefUnwindSafe for Specs",1,["flux_driver::collector::Specs"]],["impl RefUnwindSafe for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl RefUnwindSafe for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl RefUnwindSafe for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl RefUnwindSafe for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl RefUnwindSafe for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl RefUnwindSafe for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl RefUnwindSafe for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl !RefUnwindSafe for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl RefUnwindSafe for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl RefUnwindSafe for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl RefUnwindSafe for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl RefUnwindSafe for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl RefUnwindSafe for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> !RefUnwindSafe for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl RefUnwindSafe for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> !RefUnwindSafe for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl RefUnwindSafe for Env",1,["flux_fhir_analysis::conv::Env"]],["impl RefUnwindSafe for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl RefUnwindSafe for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> RefUnwindSafe for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> RefUnwindSafe for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl RefUnwindSafe for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl RefUnwindSafe for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl RefUnwindSafe for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl RefUnwindSafe for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl RefUnwindSafe for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl RefUnwindSafe for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> RefUnwindSafe for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> RefUnwindSafe for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> RefUnwindSafe for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> RefUnwindSafe for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl RefUnwindSafe for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl RefUnwindSafe for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> RefUnwindSafe for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> RefUnwindSafe for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> RefUnwindSafe for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl RefUnwindSafe for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl RefUnwindSafe for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl RefUnwindSafe for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> !RefUnwindSafe for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> !RefUnwindSafe for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl RefUnwindSafe for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl RefUnwindSafe for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl RefUnwindSafe for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl RefUnwindSafe for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> RefUnwindSafe for Constraint<Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::constraint::Constraint"]],["impl RefUnwindSafe for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl RefUnwindSafe for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl RefUnwindSafe for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl RefUnwindSafe for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl RefUnwindSafe for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl RefUnwindSafe for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl RefUnwindSafe for Func",1,["flux_fixpoint::constraint::Func"]],["impl RefUnwindSafe for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl RefUnwindSafe for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl RefUnwindSafe for Const",1,["flux_fixpoint::constraint::Const"]],["impl RefUnwindSafe for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl RefUnwindSafe for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl RefUnwindSafe for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl RefUnwindSafe for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl RefUnwindSafe for Name",1,["flux_fixpoint::constraint::Name"]],["impl RefUnwindSafe for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> RefUnwindSafe for PredTag<'a, Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> RefUnwindSafe for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl RefUnwindSafe for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> RefUnwindSafe for Task<Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::Task"]],["impl<Tag> RefUnwindSafe for FixpointResult<Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> RefUnwindSafe for Error<Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::Error"]],["impl RefUnwindSafe for Stats",1,["flux_fixpoint::Stats"]],["impl RefUnwindSafe for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl RefUnwindSafe for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl RefUnwindSafe for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl RefUnwindSafe for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> RefUnwindSafe for Constraint<T>where\n    <T as Types>::KVar: RefUnwindSafe,\n    <T as Types>::Tag: RefUnwindSafe,\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::Constraint"]],["impl RefUnwindSafe for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl RefUnwindSafe for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl RefUnwindSafe for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl RefUnwindSafe for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> RefUnwindSafe for Pred<T>where\n    <T as Types>::KVar: RefUnwindSafe,\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> RefUnwindSafe for Expr<T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> RefUnwindSafe for Func<T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::Func"]],["impl RefUnwindSafe for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> RefUnwindSafe for Qualifier<T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> RefUnwindSafe for Const<T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::Const"]],["impl RefUnwindSafe for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl RefUnwindSafe for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl RefUnwindSafe for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> RefUnwindSafe for PredTag<'a, T>where\n    <T as Types>::KVar: RefUnwindSafe,\n    <T as Types>::Tag: RefUnwindSafe,\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> RefUnwindSafe for FmtParens<'a, T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::FmtParens"]],["impl RefUnwindSafe for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> RefUnwindSafe for ConstInfo<T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::ConstInfo"]],["impl<T> RefUnwindSafe for Task<T>where\n    <T as Types>::KVar: RefUnwindSafe,\n    <T as Types>::Tag: RefUnwindSafe,\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::Task"]],["impl<Tag> RefUnwindSafe for FixpointResult<Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> RefUnwindSafe for Error<Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::Error"]],["impl RefUnwindSafe for Stats",1,["flux_fixpoint::Stats"]],["impl RefUnwindSafe for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> RefUnwindSafe for KVar<T>where\n    <T as Types>::KVar: RefUnwindSafe,",1,["flux_fixpoint::KVar"]]],
     "flux_macros":[["impl<'a> RefUnwindSafe for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> RefUnwindSafe for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl RefUnwindSafe for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl RefUnwindSafe for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl RefUnwindSafe for DiagnosticDeriveBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveBuilder"]],["impl<'parent> RefUnwindSafe for DiagnosticDeriveVariantBuilder<'parent>",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl RefUnwindSafe for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl RefUnwindSafe for SubdiagnosticDeriveBuilder",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveBuilder"]],["impl<'parent, 'a> RefUnwindSafe for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl RefUnwindSafe for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'ty> RefUnwindSafe for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]],["impl<'a> RefUnwindSafe for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl RefUnwindSafe for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl RefUnwindSafe for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl RefUnwindSafe for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl RefUnwindSafe for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl RefUnwindSafe for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]]],
     "flux_metadata":[["impl<'a> !RefUnwindSafe for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !RefUnwindSafe for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> !RefUnwindSafe for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl RefUnwindSafe for CStore",1,["flux_metadata::CStore"]],["impl RefUnwindSafe for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl RefUnwindSafe for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> RefUnwindSafe for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> !RefUnwindSafe for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl RefUnwindSafe for Generics",1,["flux_middle::fhir::Generics"]],["impl RefUnwindSafe for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl RefUnwindSafe for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl RefUnwindSafe for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl RefUnwindSafe for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl RefUnwindSafe for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl RefUnwindSafe for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl RefUnwindSafe for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl RefUnwindSafe for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl RefUnwindSafe for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl RefUnwindSafe for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl RefUnwindSafe for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl RefUnwindSafe for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl !RefUnwindSafe for Map",1,["flux_middle::fhir::Map"]],["impl RefUnwindSafe for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl RefUnwindSafe for StructDef",1,["flux_middle::fhir::StructDef"]],["impl RefUnwindSafe for StructKind",1,["flux_middle::fhir::StructKind"]],["impl RefUnwindSafe for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl RefUnwindSafe for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl RefUnwindSafe for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl RefUnwindSafe for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl RefUnwindSafe for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl RefUnwindSafe for FnSig",1,["flux_middle::fhir::FnSig"]],["impl RefUnwindSafe for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl RefUnwindSafe for Constraint",1,["flux_middle::fhir::Constraint"]],["impl RefUnwindSafe for Ty",1,["flux_middle::fhir::Ty"]],["impl RefUnwindSafe for TyKind",1,["flux_middle::fhir::TyKind"]],["impl RefUnwindSafe for MutTy",1,["flux_middle::fhir::MutTy"]],["impl RefUnwindSafe for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl RefUnwindSafe for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl RefUnwindSafe for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl RefUnwindSafe for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl RefUnwindSafe for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> RefUnwindSafe for LocalTableInContext<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> RefUnwindSafe for LocalTableInContextMut<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl RefUnwindSafe for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl RefUnwindSafe for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl RefUnwindSafe for FhirId",1,["flux_middle::fhir::FhirId"]],["impl RefUnwindSafe for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl RefUnwindSafe for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl RefUnwindSafe for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl RefUnwindSafe for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl RefUnwindSafe for QPath",1,["flux_middle::fhir::QPath"]],["impl RefUnwindSafe for Path",1,["flux_middle::fhir::Path"]],["impl RefUnwindSafe for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl RefUnwindSafe for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl RefUnwindSafe for Res",1,["flux_middle::fhir::Res"]],["impl RefUnwindSafe for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl RefUnwindSafe for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl RefUnwindSafe for InferMode",1,["flux_middle::fhir::InferMode"]],["impl RefUnwindSafe for SortVid",1,["flux_middle::fhir::SortVid"]],["impl RefUnwindSafe for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl RefUnwindSafe for Sort",1,["flux_middle::fhir::Sort"]],["impl RefUnwindSafe for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl RefUnwindSafe for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl RefUnwindSafe for Expr",1,["flux_middle::fhir::Expr"]],["impl RefUnwindSafe for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl RefUnwindSafe for Func",1,["flux_middle::fhir::Func"]],["impl RefUnwindSafe for Lit",1,["flux_middle::fhir::Lit"]],["impl RefUnwindSafe for Ident",1,["flux_middle::fhir::Ident"]],["impl RefUnwindSafe for Name",1,["flux_middle::fhir::Name"]],["impl RefUnwindSafe for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl RefUnwindSafe for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl RefUnwindSafe for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl RefUnwindSafe for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !RefUnwindSafe for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> RefUnwindSafe for Interned<T>where\n    T: RefUnwindSafe,",1,["flux_middle::intern::Interned"]],["impl<T> !RefUnwindSafe for InternStorage<T>",1,["flux_middle::intern::InternStorage"]],["impl RefUnwindSafe for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> !RefUnwindSafe for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> !RefUnwindSafe for WithCx<'a, 'tcx, T>",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> !RefUnwindSafe for Join<'a, I>",1,["flux_middle::pretty::Join"]],["impl<'a, T> RefUnwindSafe for Parens<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::pretty::Parens"]],["impl RefUnwindSafe for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl RefUnwindSafe for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !RefUnwindSafe for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl RefUnwindSafe for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl RefUnwindSafe for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl RefUnwindSafe for EVar",1,["flux_middle::rty::evars::EVar"]],["impl RefUnwindSafe for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl RefUnwindSafe for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl RefUnwindSafe for EVid",1,["flux_middle::rty::evars::EVid"]],["impl RefUnwindSafe for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl RefUnwindSafe for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl RefUnwindSafe for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl RefUnwindSafe for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl RefUnwindSafe for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl RefUnwindSafe for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl RefUnwindSafe for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl RefUnwindSafe for KVar",1,["flux_middle::rty::expr::KVar"]],["impl RefUnwindSafe for Var",1,["flux_middle::rty::expr::Var"]],["impl RefUnwindSafe for Path",1,["flux_middle::rty::expr::Path"]],["impl RefUnwindSafe for Loc",1,["flux_middle::rty::expr::Loc"]],["impl RefUnwindSafe for KVid",1,["flux_middle::rty::expr::KVid"]],["impl RefUnwindSafe for Name",1,["flux_middle::rty::expr::Name"]],["impl RefUnwindSafe for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> RefUnwindSafe for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl RefUnwindSafe for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> !RefUnwindSafe for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl RefUnwindSafe for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl RefUnwindSafe for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> !RefUnwindSafe for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl RefUnwindSafe for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> RefUnwindSafe for BoundVarReplacer<D>where\n    D: RefUnwindSafe,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> RefUnwindSafe for FnMutDelegate<F1, F2>where\n    F1: RefUnwindSafe,\n    F2: RefUnwindSafe,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> RefUnwindSafe for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> RefUnwindSafe for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl RefUnwindSafe for Generics",1,["flux_middle::rty::Generics"]],["impl RefUnwindSafe for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl RefUnwindSafe for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl RefUnwindSafe for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl RefUnwindSafe for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl RefUnwindSafe for Clause",1,["flux_middle::rty::Clause"]],["impl RefUnwindSafe for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl RefUnwindSafe for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl RefUnwindSafe for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl RefUnwindSafe for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl RefUnwindSafe for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl RefUnwindSafe for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl RefUnwindSafe for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl RefUnwindSafe for SortVar",1,["flux_middle::rty::SortVar"]],["impl RefUnwindSafe for Sort",1,["flux_middle::rty::Sort"]],["impl RefUnwindSafe for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl RefUnwindSafe for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl RefUnwindSafe for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl RefUnwindSafe for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> RefUnwindSafe for Opaqueness<T>where\n    T: RefUnwindSafe,",1,["flux_middle::rty::Opaqueness"]],["impl RefUnwindSafe for Invariant",1,["flux_middle::rty::Invariant"]],["impl RefUnwindSafe for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl RefUnwindSafe for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> RefUnwindSafe for Binder<T>where\n    T: RefUnwindSafe,",1,["flux_middle::rty::Binder"]],["impl<T> RefUnwindSafe for EarlyBinder<T>where\n    T: RefUnwindSafe,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> RefUnwindSafe for TupleTree<T>where\n    T: RefUnwindSafe,",1,["flux_middle::rty::TupleTree"]],["impl RefUnwindSafe for FnSig",1,["flux_middle::rty::FnSig"]],["impl RefUnwindSafe for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl RefUnwindSafe for Constraint",1,["flux_middle::rty::Constraint"]],["impl RefUnwindSafe for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl RefUnwindSafe for Defn",1,["flux_middle::rty::Defn"]],["impl RefUnwindSafe for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl RefUnwindSafe for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl RefUnwindSafe for TyS",1,["flux_middle::rty::TyS"]],["impl RefUnwindSafe for TyKind",1,["flux_middle::rty::TyKind"]],["impl RefUnwindSafe for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl RefUnwindSafe for Index",1,["flux_middle::rty::Index"]],["impl RefUnwindSafe for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl RefUnwindSafe for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl RefUnwindSafe for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl RefUnwindSafe for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl RefUnwindSafe for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !RefUnwindSafe for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> !RefUnwindSafe for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl RefUnwindSafe for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> !RefUnwindSafe for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> !RefUnwindSafe for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl RefUnwindSafe for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> !RefUnwindSafe for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl RefUnwindSafe for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl RefUnwindSafe for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl RefUnwindSafe for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl RefUnwindSafe for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl RefUnwindSafe for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl RefUnwindSafe for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl RefUnwindSafe for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl RefUnwindSafe for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl RefUnwindSafe for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl RefUnwindSafe for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl RefUnwindSafe for Place",1,["flux_middle::rustc::mir::Place"]],["impl RefUnwindSafe for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl RefUnwindSafe for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl RefUnwindSafe for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl RefUnwindSafe for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> RefUnwindSafe for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> RefUnwindSafe for EarlyBinder<T>where\n    T: RefUnwindSafe,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> RefUnwindSafe for Binder<T>where\n    T: RefUnwindSafe,",1,["flux_middle::rustc::ty::Binder"]],["impl RefUnwindSafe for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl RefUnwindSafe for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl RefUnwindSafe for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl RefUnwindSafe for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl RefUnwindSafe for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl RefUnwindSafe for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl RefUnwindSafe for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl RefUnwindSafe for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl RefUnwindSafe for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl RefUnwindSafe for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl RefUnwindSafe for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl RefUnwindSafe for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl RefUnwindSafe for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl RefUnwindSafe for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl RefUnwindSafe for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl RefUnwindSafe for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl RefUnwindSafe for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl RefUnwindSafe for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl RefUnwindSafe for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl RefUnwindSafe for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl RefUnwindSafe for Const",1,["flux_middle::rustc::ty::Const"]],["impl RefUnwindSafe for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl RefUnwindSafe for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl RefUnwindSafe for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> RefUnwindSafe for ClosureArgsParts<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> RefUnwindSafe for GeneratorArgsParts<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl RefUnwindSafe for Region",1,["flux_middle::rustc::ty::Region"]],["impl RefUnwindSafe for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl RefUnwindSafe for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> !RefUnwindSafe for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl RefUnwindSafe for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl RefUnwindSafe for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> !RefUnwindSafe for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl RefUnwindSafe for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl RefUnwindSafe for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl RefUnwindSafe for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl RefUnwindSafe for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !RefUnwindSafe for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl RefUnwindSafe for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl RefUnwindSafe for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl RefUnwindSafe for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl RefUnwindSafe for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !RefUnwindSafe for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !RefUnwindSafe for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !RefUnwindSafe for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl RefUnwindSafe for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl RefUnwindSafe for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl RefUnwindSafe for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl RefUnwindSafe for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl RefUnwindSafe for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl RefUnwindSafe for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl RefUnwindSafe for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl RefUnwindSafe for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> RefUnwindSafe for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl RefUnwindSafe for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl RefUnwindSafe for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !RefUnwindSafe for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl RefUnwindSafe for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> RefUnwindSafe for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl RefUnwindSafe for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl RefUnwindSafe for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl RefUnwindSafe for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> RefUnwindSafe for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> RefUnwindSafe for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl RefUnwindSafe for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl RefUnwindSafe for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> RefUnwindSafe for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl RefUnwindSafe for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl RefUnwindSafe for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl RefUnwindSafe for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl RefUnwindSafe for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl RefUnwindSafe for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl RefUnwindSafe for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl RefUnwindSafe for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl RefUnwindSafe for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> RefUnwindSafe for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl RefUnwindSafe for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> RefUnwindSafe for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> RefUnwindSafe for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !RefUnwindSafe for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !RefUnwindSafe for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !RefUnwindSafe for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !RefUnwindSafe for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl RefUnwindSafe for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !RefUnwindSafe for Node",1,["flux_refineck::refine_tree::Node"]],["impl !RefUnwindSafe for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !RefUnwindSafe for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl RefUnwindSafe for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !RefUnwindSafe for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl RefUnwindSafe for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !RefUnwindSafe for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !RefUnwindSafe for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !RefUnwindSafe for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> RefUnwindSafe for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !RefUnwindSafe for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl RefUnwindSafe for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl RefUnwindSafe for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl RefUnwindSafe for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> RefUnwindSafe for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !RefUnwindSafe for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl RefUnwindSafe for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !RefUnwindSafe for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> RefUnwindSafe for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl RefUnwindSafe for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> RefUnwindSafe for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl RefUnwindSafe for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl RefUnwindSafe for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl RefUnwindSafe for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl RefUnwindSafe for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl RefUnwindSafe for GotoError",1,["flux_refineck::errors::GotoError"]],["impl RefUnwindSafe for AssignError",1,["flux_refineck::errors::AssignError"]],["impl RefUnwindSafe for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl RefUnwindSafe for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl RefUnwindSafe for RefineError",1,["flux_refineck::errors::RefineError"]],["impl RefUnwindSafe for DivError",1,["flux_refineck::errors::DivError"]],["impl RefUnwindSafe for RemError",1,["flux_refineck::errors::RemError"]],["impl RefUnwindSafe for AssertError",1,["flux_refineck::errors::AssertError"]],["impl RefUnwindSafe for FoldError",1,["flux_refineck::errors::FoldError"]],["impl RefUnwindSafe for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl RefUnwindSafe for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl RefUnwindSafe for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl RefUnwindSafe for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl RefUnwindSafe for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !RefUnwindSafe for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl RefUnwindSafe for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl RefUnwindSafe for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl RefUnwindSafe for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl RefUnwindSafe for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !RefUnwindSafe for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !RefUnwindSafe for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !RefUnwindSafe for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl RefUnwindSafe for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl RefUnwindSafe for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl RefUnwindSafe for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl RefUnwindSafe for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl RefUnwindSafe for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl RefUnwindSafe for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl RefUnwindSafe for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl RefUnwindSafe for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl RefUnwindSafe for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl RefUnwindSafe for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl RefUnwindSafe for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl RefUnwindSafe for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl RefUnwindSafe for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl RefUnwindSafe for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> RefUnwindSafe for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl RefUnwindSafe for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl RefUnwindSafe for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !RefUnwindSafe for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl RefUnwindSafe for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> RefUnwindSafe for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl RefUnwindSafe for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl RefUnwindSafe for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl RefUnwindSafe for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> RefUnwindSafe for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> RefUnwindSafe for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl RefUnwindSafe for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl RefUnwindSafe for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> RefUnwindSafe for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl RefUnwindSafe for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl RefUnwindSafe for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl RefUnwindSafe for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl RefUnwindSafe for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl RefUnwindSafe for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl RefUnwindSafe for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl RefUnwindSafe for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl RefUnwindSafe for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> RefUnwindSafe for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl RefUnwindSafe for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> RefUnwindSafe for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> RefUnwindSafe for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !RefUnwindSafe for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !RefUnwindSafe for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !RefUnwindSafe for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !RefUnwindSafe for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl RefUnwindSafe for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !RefUnwindSafe for Node",1,["flux_refineck::refine_tree::Node"]],["impl !RefUnwindSafe for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !RefUnwindSafe for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl RefUnwindSafe for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !RefUnwindSafe for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl RefUnwindSafe for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !RefUnwindSafe for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !RefUnwindSafe for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !RefUnwindSafe for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> RefUnwindSafe for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !RefUnwindSafe for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl RefUnwindSafe for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl RefUnwindSafe for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl RefUnwindSafe for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> RefUnwindSafe for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !RefUnwindSafe for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl RefUnwindSafe for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !RefUnwindSafe for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> RefUnwindSafe for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl RefUnwindSafe for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> RefUnwindSafe for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl RefUnwindSafe for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl RefUnwindSafe for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl RefUnwindSafe for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl RefUnwindSafe for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl RefUnwindSafe for GotoError",1,["flux_refineck::errors::GotoError"]],["impl RefUnwindSafe for AssignError",1,["flux_refineck::errors::AssignError"]],["impl RefUnwindSafe for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl RefUnwindSafe for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl RefUnwindSafe for RefineError",1,["flux_refineck::errors::RefineError"]],["impl RefUnwindSafe for DivError",1,["flux_refineck::errors::DivError"]],["impl RefUnwindSafe for RemError",1,["flux_refineck::errors::RemError"]],["impl RefUnwindSafe for AssertError",1,["flux_refineck::errors::AssertError"]],["impl RefUnwindSafe for FoldError",1,["flux_refineck::errors::FoldError"]],["impl RefUnwindSafe for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl RefUnwindSafe for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl RefUnwindSafe for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> !RefUnwindSafe for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl RefUnwindSafe for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> !RefUnwindSafe for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl RefUnwindSafe for Location",1,["flux_syntax::lexer::Location"]],["impl RefUnwindSafe for NodeId",1,["flux_syntax::surface::NodeId"]],["impl RefUnwindSafe for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl RefUnwindSafe for Item",1,["flux_syntax::surface::Item"]],["impl RefUnwindSafe for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl RefUnwindSafe for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl RefUnwindSafe for Generics",1,["flux_syntax::surface::Generics"]],["impl RefUnwindSafe for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl RefUnwindSafe for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl RefUnwindSafe for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl RefUnwindSafe for StructDef",1,["flux_syntax::surface::StructDef"]],["impl RefUnwindSafe for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl RefUnwindSafe for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl RefUnwindSafe for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl RefUnwindSafe for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl RefUnwindSafe for QualNames",1,["flux_syntax::surface::QualNames"]],["impl RefUnwindSafe for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl RefUnwindSafe for Sort",1,["flux_syntax::surface::Sort"]],["impl RefUnwindSafe for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl RefUnwindSafe for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl RefUnwindSafe for FnSig",1,["flux_syntax::surface::FnSig"]],["impl RefUnwindSafe for Constraint",1,["flux_syntax::surface::Constraint"]],["impl RefUnwindSafe for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl RefUnwindSafe for Async",1,["flux_syntax::surface::Async"]],["impl RefUnwindSafe for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl RefUnwindSafe for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl RefUnwindSafe for Arg",1,["flux_syntax::surface::Arg"]],["impl RefUnwindSafe for Ty",1,["flux_syntax::surface::Ty"]],["impl RefUnwindSafe for TyKind",1,["flux_syntax::surface::TyKind"]],["impl RefUnwindSafe for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl RefUnwindSafe for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl RefUnwindSafe for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl RefUnwindSafe for Indices",1,["flux_syntax::surface::Indices"]],["impl RefUnwindSafe for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl RefUnwindSafe for BindKind",1,["flux_syntax::surface::BindKind"]],["impl RefUnwindSafe for Path",1,["flux_syntax::surface::Path"]],["impl RefUnwindSafe for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl RefUnwindSafe for Expr",1,["flux_syntax::surface::Expr"]],["impl RefUnwindSafe for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl RefUnwindSafe for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl RefUnwindSafe for BinOp",1,["flux_syntax::surface::BinOp"]],["impl RefUnwindSafe for UnOp",1,["flux_syntax::surface::UnOp"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl RefUnwindSafe for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl RefUnwindSafe for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl RefUnwindSafe for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl RefUnwindSafe for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl RefUnwindSafe for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl RefUnwindSafe for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl RefUnwindSafe for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl RefUnwindSafe for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl RefUnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> RefUnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl RefUnwindSafe for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl RefUnwindSafe for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> RefUnwindSafe for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl RefUnwindSafe for UserParseError",1,["flux_syntax::UserParseError"]],["impl RefUnwindSafe for ParseError",1,["flux_syntax::ParseError"]],["impl RefUnwindSafe for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]],
     "xtask":[["impl RefUnwindSafe for Xtask",1,["xtask::Xtask"]],["impl RefUnwindSafe for XtaskCmd",1,["xtask::XtaskCmd"]],["impl RefUnwindSafe for Test",1,["xtask::Test"]],["impl RefUnwindSafe for Run",1,["xtask::Run"]],["impl RefUnwindSafe for Expand",1,["xtask::Expand"]],["impl RefUnwindSafe for Install",1,["xtask::Install"]],["impl RefUnwindSafe for Uninstall",1,["xtask::Uninstall"]],["impl RefUnwindSafe for BuildSysroot",1,["xtask::BuildSysroot"]],["impl RefUnwindSafe for Doc",1,["xtask::Doc"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
    index 0b2c72d3c4..f1e1d77286 100644
    --- a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
    +++ b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
    @@ -5,11 +5,11 @@
     "flux_driver":[["impl UnwindSafe for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl UnwindSafe for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl UnwindSafe for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl UnwindSafe for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl UnwindSafe for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl UnwindSafe for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl UnwindSafe for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl UnwindSafe for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl UnwindSafe for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl UnwindSafe for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> !UnwindSafe for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl UnwindSafe for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl UnwindSafe for Specs",1,["flux_driver::collector::Specs"]],["impl UnwindSafe for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl UnwindSafe for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl UnwindSafe for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl UnwindSafe for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl UnwindSafe for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl UnwindSafe for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl UnwindSafe for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl !UnwindSafe for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl UnwindSafe for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl UnwindSafe for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl UnwindSafe for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl UnwindSafe for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl UnwindSafe for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> !UnwindSafe for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl UnwindSafe for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> !UnwindSafe for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl UnwindSafe for Env",1,["flux_fhir_analysis::conv::Env"]],["impl UnwindSafe for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl UnwindSafe for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> UnwindSafe for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> UnwindSafe for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl UnwindSafe for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl UnwindSafe for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl UnwindSafe for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl UnwindSafe for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl UnwindSafe for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl UnwindSafe for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> UnwindSafe for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> UnwindSafe for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> UnwindSafe for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> UnwindSafe for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl UnwindSafe for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl UnwindSafe for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> UnwindSafe for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> UnwindSafe for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> UnwindSafe for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl UnwindSafe for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl UnwindSafe for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl UnwindSafe for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> !UnwindSafe for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> !UnwindSafe for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl UnwindSafe for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl UnwindSafe for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl UnwindSafe for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl UnwindSafe for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> UnwindSafe for Constraint<Tag>where\n    Tag: UnwindSafe,",1,["flux_fixpoint::constraint::Constraint"]],["impl UnwindSafe for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl UnwindSafe for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl UnwindSafe for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl UnwindSafe for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl UnwindSafe for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl UnwindSafe for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl UnwindSafe for Func",1,["flux_fixpoint::constraint::Func"]],["impl UnwindSafe for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl UnwindSafe for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl UnwindSafe for Const",1,["flux_fixpoint::constraint::Const"]],["impl UnwindSafe for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl UnwindSafe for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl UnwindSafe for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl UnwindSafe for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl UnwindSafe for Name",1,["flux_fixpoint::constraint::Name"]],["impl UnwindSafe for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> UnwindSafe for PredTag<'a, Tag>where\n    Tag: RefUnwindSafe,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> UnwindSafe for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl UnwindSafe for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> UnwindSafe for Task<Tag>where\n    Tag: UnwindSafe,",1,["flux_fixpoint::Task"]],["impl<Tag> UnwindSafe for FixpointResult<Tag>where\n    Tag: UnwindSafe,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> UnwindSafe for Error<Tag>where\n    Tag: UnwindSafe,",1,["flux_fixpoint::Error"]],["impl UnwindSafe for Stats",1,["flux_fixpoint::Stats"]],["impl UnwindSafe for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl UnwindSafe for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl UnwindSafe for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl UnwindSafe for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> UnwindSafe for Constraint<T>where\n    <T as Types>::KVar: UnwindSafe,\n    <T as Types>::Tag: UnwindSafe,\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::constraint::Constraint"]],["impl UnwindSafe for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl UnwindSafe for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl UnwindSafe for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl UnwindSafe for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> UnwindSafe for Pred<T>where\n    <T as Types>::KVar: UnwindSafe,\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> UnwindSafe for Expr<T>where\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> UnwindSafe for Func<T>where\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::constraint::Func"]],["impl UnwindSafe for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> UnwindSafe for Qualifier<T>where\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> UnwindSafe for Const<T>where\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::constraint::Const"]],["impl UnwindSafe for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl UnwindSafe for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl UnwindSafe for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> UnwindSafe for PredTag<'a, T>where\n    <T as Types>::KVar: RefUnwindSafe,\n    <T as Types>::Tag: RefUnwindSafe,\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> UnwindSafe for FmtParens<'a, T>where\n    <T as Types>::Var: RefUnwindSafe,",1,["flux_fixpoint::constraint::FmtParens"]],["impl UnwindSafe for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> UnwindSafe for ConstInfo<T>where\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::ConstInfo"]],["impl<T> UnwindSafe for Task<T>where\n    <T as Types>::KVar: UnwindSafe,\n    <T as Types>::Tag: UnwindSafe,\n    <T as Types>::Var: UnwindSafe,",1,["flux_fixpoint::Task"]],["impl<Tag> UnwindSafe for FixpointResult<Tag>where\n    Tag: UnwindSafe,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> UnwindSafe for Error<Tag>where\n    Tag: UnwindSafe,",1,["flux_fixpoint::Error"]],["impl UnwindSafe for Stats",1,["flux_fixpoint::Stats"]],["impl UnwindSafe for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> UnwindSafe for KVar<T>where\n    <T as Types>::KVar: UnwindSafe,",1,["flux_fixpoint::KVar"]]],
     "flux_macros":[["impl<'a> UnwindSafe for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> UnwindSafe for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl UnwindSafe for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl UnwindSafe for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl UnwindSafe for DiagnosticDeriveBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveBuilder"]],["impl<'parent> UnwindSafe for DiagnosticDeriveVariantBuilder<'parent>",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl UnwindSafe for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl UnwindSafe for SubdiagnosticDeriveBuilder",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveBuilder"]],["impl<'parent, 'a> UnwindSafe for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl UnwindSafe for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'ty> UnwindSafe for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]],["impl<'a> UnwindSafe for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl UnwindSafe for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl UnwindSafe for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl UnwindSafe for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl UnwindSafe for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl UnwindSafe for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]]],
     "flux_metadata":[["impl<'a> !UnwindSafe for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !UnwindSafe for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> !UnwindSafe for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl UnwindSafe for CStore",1,["flux_metadata::CStore"]],["impl UnwindSafe for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl UnwindSafe for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> UnwindSafe for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> !UnwindSafe for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl UnwindSafe for Generics",1,["flux_middle::fhir::Generics"]],["impl UnwindSafe for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl UnwindSafe for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl UnwindSafe for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl UnwindSafe for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl UnwindSafe for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl UnwindSafe for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl UnwindSafe for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl UnwindSafe for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl UnwindSafe for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl UnwindSafe for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl UnwindSafe for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl UnwindSafe for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl UnwindSafe for Map",1,["flux_middle::fhir::Map"]],["impl UnwindSafe for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl UnwindSafe for StructDef",1,["flux_middle::fhir::StructDef"]],["impl UnwindSafe for StructKind",1,["flux_middle::fhir::StructKind"]],["impl UnwindSafe for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl UnwindSafe for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl UnwindSafe for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl UnwindSafe for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl UnwindSafe for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl UnwindSafe for FnSig",1,["flux_middle::fhir::FnSig"]],["impl UnwindSafe for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl UnwindSafe for Constraint",1,["flux_middle::fhir::Constraint"]],["impl UnwindSafe for Ty",1,["flux_middle::fhir::Ty"]],["impl UnwindSafe for TyKind",1,["flux_middle::fhir::TyKind"]],["impl UnwindSafe for MutTy",1,["flux_middle::fhir::MutTy"]],["impl UnwindSafe for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl UnwindSafe for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl UnwindSafe for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl UnwindSafe for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl UnwindSafe for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> UnwindSafe for LocalTableInContext<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> !UnwindSafe for LocalTableInContextMut<'a, T>",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl UnwindSafe for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl UnwindSafe for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl UnwindSafe for FhirId",1,["flux_middle::fhir::FhirId"]],["impl UnwindSafe for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl UnwindSafe for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl UnwindSafe for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl UnwindSafe for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl UnwindSafe for QPath",1,["flux_middle::fhir::QPath"]],["impl UnwindSafe for Path",1,["flux_middle::fhir::Path"]],["impl UnwindSafe for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl UnwindSafe for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl UnwindSafe for Res",1,["flux_middle::fhir::Res"]],["impl UnwindSafe for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl UnwindSafe for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl UnwindSafe for InferMode",1,["flux_middle::fhir::InferMode"]],["impl UnwindSafe for SortVid",1,["flux_middle::fhir::SortVid"]],["impl UnwindSafe for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl UnwindSafe for Sort",1,["flux_middle::fhir::Sort"]],["impl UnwindSafe for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl UnwindSafe for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl UnwindSafe for Expr",1,["flux_middle::fhir::Expr"]],["impl UnwindSafe for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl UnwindSafe for Func",1,["flux_middle::fhir::Func"]],["impl UnwindSafe for Lit",1,["flux_middle::fhir::Lit"]],["impl UnwindSafe for Ident",1,["flux_middle::fhir::Ident"]],["impl UnwindSafe for Name",1,["flux_middle::fhir::Name"]],["impl UnwindSafe for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl UnwindSafe for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl UnwindSafe for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl UnwindSafe for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !UnwindSafe for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> UnwindSafe for Interned<T>where\n    T: RefUnwindSafe,",1,["flux_middle::intern::Interned"]],["impl<T: ?Sized> UnwindSafe for InternStorage<T>where\n    T: RefUnwindSafe,",1,["flux_middle::intern::InternStorage"]],["impl UnwindSafe for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> !UnwindSafe for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> !UnwindSafe for WithCx<'a, 'tcx, T>",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> UnwindSafe for Join<'a, I>where\n    I: UnwindSafe,",1,["flux_middle::pretty::Join"]],["impl<'a, T> UnwindSafe for Parens<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::pretty::Parens"]],["impl UnwindSafe for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl UnwindSafe for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !UnwindSafe for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl UnwindSafe for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl UnwindSafe for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl UnwindSafe for EVar",1,["flux_middle::rty::evars::EVar"]],["impl UnwindSafe for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl UnwindSafe for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl UnwindSafe for EVid",1,["flux_middle::rty::evars::EVid"]],["impl UnwindSafe for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl UnwindSafe for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl UnwindSafe for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl UnwindSafe for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl UnwindSafe for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl UnwindSafe for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl UnwindSafe for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl UnwindSafe for KVar",1,["flux_middle::rty::expr::KVar"]],["impl UnwindSafe for Var",1,["flux_middle::rty::expr::Var"]],["impl UnwindSafe for Path",1,["flux_middle::rty::expr::Path"]],["impl UnwindSafe for Loc",1,["flux_middle::rty::expr::Loc"]],["impl UnwindSafe for KVid",1,["flux_middle::rty::expr::KVid"]],["impl UnwindSafe for Name",1,["flux_middle::rty::expr::Name"]],["impl UnwindSafe for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> UnwindSafe for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl UnwindSafe for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> !UnwindSafe for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl UnwindSafe for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl UnwindSafe for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> !UnwindSafe for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl UnwindSafe for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> UnwindSafe for BoundVarReplacer<D>where\n    D: UnwindSafe,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> UnwindSafe for FnMutDelegate<F1, F2>where\n    F1: UnwindSafe,\n    F2: UnwindSafe,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> UnwindSafe for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> UnwindSafe for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl UnwindSafe for Generics",1,["flux_middle::rty::Generics"]],["impl UnwindSafe for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl UnwindSafe for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl UnwindSafe for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl UnwindSafe for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl UnwindSafe for Clause",1,["flux_middle::rty::Clause"]],["impl UnwindSafe for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl UnwindSafe for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl UnwindSafe for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl UnwindSafe for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl UnwindSafe for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl UnwindSafe for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl UnwindSafe for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl UnwindSafe for SortVar",1,["flux_middle::rty::SortVar"]],["impl UnwindSafe for Sort",1,["flux_middle::rty::Sort"]],["impl UnwindSafe for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl UnwindSafe for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl UnwindSafe for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl UnwindSafe for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> UnwindSafe for Opaqueness<T>where\n    T: UnwindSafe,",1,["flux_middle::rty::Opaqueness"]],["impl UnwindSafe for Invariant",1,["flux_middle::rty::Invariant"]],["impl UnwindSafe for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl UnwindSafe for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> UnwindSafe for Binder<T>where\n    T: UnwindSafe,",1,["flux_middle::rty::Binder"]],["impl<T> UnwindSafe for EarlyBinder<T>where\n    T: UnwindSafe,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> UnwindSafe for TupleTree<T>where\n    T: UnwindSafe + RefUnwindSafe,",1,["flux_middle::rty::TupleTree"]],["impl UnwindSafe for FnSig",1,["flux_middle::rty::FnSig"]],["impl UnwindSafe for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl UnwindSafe for Constraint",1,["flux_middle::rty::Constraint"]],["impl UnwindSafe for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl UnwindSafe for Defn",1,["flux_middle::rty::Defn"]],["impl UnwindSafe for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl UnwindSafe for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl UnwindSafe for TyS",1,["flux_middle::rty::TyS"]],["impl UnwindSafe for TyKind",1,["flux_middle::rty::TyKind"]],["impl UnwindSafe for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl UnwindSafe for Index",1,["flux_middle::rty::Index"]],["impl UnwindSafe for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl UnwindSafe for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl UnwindSafe for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl UnwindSafe for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl UnwindSafe for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !UnwindSafe for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> !UnwindSafe for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl UnwindSafe for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> !UnwindSafe for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> !UnwindSafe for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl UnwindSafe for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> !UnwindSafe for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl UnwindSafe for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl UnwindSafe for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl UnwindSafe for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl UnwindSafe for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl UnwindSafe for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl UnwindSafe for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl UnwindSafe for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl UnwindSafe for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl UnwindSafe for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl UnwindSafe for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl UnwindSafe for Place",1,["flux_middle::rustc::mir::Place"]],["impl UnwindSafe for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl UnwindSafe for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl UnwindSafe for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl UnwindSafe for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> UnwindSafe for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> UnwindSafe for EarlyBinder<T>where\n    T: UnwindSafe,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> UnwindSafe for Binder<T>where\n    T: UnwindSafe,",1,["flux_middle::rustc::ty::Binder"]],["impl UnwindSafe for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl UnwindSafe for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl UnwindSafe for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl UnwindSafe for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl UnwindSafe for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl UnwindSafe for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl UnwindSafe for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl UnwindSafe for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl UnwindSafe for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl UnwindSafe for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl UnwindSafe for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl UnwindSafe for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl UnwindSafe for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl UnwindSafe for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl UnwindSafe for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl UnwindSafe for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl UnwindSafe for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl UnwindSafe for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl UnwindSafe for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl UnwindSafe for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl UnwindSafe for Const",1,["flux_middle::rustc::ty::Const"]],["impl UnwindSafe for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl UnwindSafe for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl UnwindSafe for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> UnwindSafe for ClosureArgsParts<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> UnwindSafe for GeneratorArgsParts<'a, T>where\n    T: RefUnwindSafe,",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl UnwindSafe for Region",1,["flux_middle::rustc::ty::Region"]],["impl UnwindSafe for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl UnwindSafe for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> !UnwindSafe for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl UnwindSafe for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl UnwindSafe for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> !UnwindSafe for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl UnwindSafe for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl UnwindSafe for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl UnwindSafe for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl UnwindSafe for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !UnwindSafe for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl UnwindSafe for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl UnwindSafe for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl UnwindSafe for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl UnwindSafe for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !UnwindSafe for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !UnwindSafe for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !UnwindSafe for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl UnwindSafe for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl UnwindSafe for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl UnwindSafe for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl UnwindSafe for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl UnwindSafe for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl UnwindSafe for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl UnwindSafe for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !UnwindSafe for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl UnwindSafe for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> UnwindSafe for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl UnwindSafe for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl UnwindSafe for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !UnwindSafe for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl UnwindSafe for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> !UnwindSafe for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl UnwindSafe for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl UnwindSafe for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl UnwindSafe for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> UnwindSafe for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> !UnwindSafe for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl UnwindSafe for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl UnwindSafe for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> UnwindSafe for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl UnwindSafe for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl UnwindSafe for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl UnwindSafe for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl UnwindSafe for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl UnwindSafe for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl UnwindSafe for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl UnwindSafe for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl UnwindSafe for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> !UnwindSafe for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl UnwindSafe for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> UnwindSafe for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> UnwindSafe for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !UnwindSafe for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !UnwindSafe for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !UnwindSafe for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !UnwindSafe for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl UnwindSafe for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !UnwindSafe for Node",1,["flux_refineck::refine_tree::Node"]],["impl !UnwindSafe for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !UnwindSafe for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl UnwindSafe for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !UnwindSafe for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl UnwindSafe for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !UnwindSafe for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !UnwindSafe for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !UnwindSafe for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> UnwindSafe for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !UnwindSafe for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl UnwindSafe for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl UnwindSafe for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl UnwindSafe for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> !UnwindSafe for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !UnwindSafe for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl UnwindSafe for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !UnwindSafe for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> !UnwindSafe for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl UnwindSafe for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> UnwindSafe for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl UnwindSafe for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl UnwindSafe for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl UnwindSafe for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl UnwindSafe for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl UnwindSafe for GotoError",1,["flux_refineck::errors::GotoError"]],["impl UnwindSafe for AssignError",1,["flux_refineck::errors::AssignError"]],["impl UnwindSafe for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl UnwindSafe for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl UnwindSafe for RefineError",1,["flux_refineck::errors::RefineError"]],["impl UnwindSafe for DivError",1,["flux_refineck::errors::DivError"]],["impl UnwindSafe for RemError",1,["flux_refineck::errors::RemError"]],["impl UnwindSafe for AssertError",1,["flux_refineck::errors::AssertError"]],["impl UnwindSafe for FoldError",1,["flux_refineck::errors::FoldError"]],["impl UnwindSafe for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl UnwindSafe for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl UnwindSafe for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl UnwindSafe for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl UnwindSafe for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !UnwindSafe for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl UnwindSafe for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl UnwindSafe for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl UnwindSafe for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl UnwindSafe for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !UnwindSafe for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !UnwindSafe for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !UnwindSafe for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl UnwindSafe for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl UnwindSafe for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl UnwindSafe for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl UnwindSafe for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl UnwindSafe for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl UnwindSafe for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl UnwindSafe for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl UnwindSafe for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl UnwindSafe for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl UnwindSafe for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl UnwindSafe for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl UnwindSafe for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !UnwindSafe for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl UnwindSafe for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl UnwindSafe for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> UnwindSafe for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl UnwindSafe for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl UnwindSafe for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !UnwindSafe for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl UnwindSafe for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> !UnwindSafe for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl UnwindSafe for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl UnwindSafe for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl UnwindSafe for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> UnwindSafe for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> !UnwindSafe for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl UnwindSafe for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl UnwindSafe for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> UnwindSafe for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl UnwindSafe for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl UnwindSafe for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl UnwindSafe for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl UnwindSafe for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl UnwindSafe for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl UnwindSafe for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl UnwindSafe for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl UnwindSafe for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> !UnwindSafe for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl UnwindSafe for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> UnwindSafe for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> UnwindSafe for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !UnwindSafe for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !UnwindSafe for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !UnwindSafe for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !UnwindSafe for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl UnwindSafe for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !UnwindSafe for Node",1,["flux_refineck::refine_tree::Node"]],["impl !UnwindSafe for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !UnwindSafe for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl UnwindSafe for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !UnwindSafe for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl UnwindSafe for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !UnwindSafe for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !UnwindSafe for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !UnwindSafe for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> UnwindSafe for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !UnwindSafe for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl UnwindSafe for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl UnwindSafe for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl UnwindSafe for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> !UnwindSafe for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !UnwindSafe for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl UnwindSafe for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !UnwindSafe for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> !UnwindSafe for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl UnwindSafe for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> UnwindSafe for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl UnwindSafe for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl UnwindSafe for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl UnwindSafe for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl UnwindSafe for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl UnwindSafe for GotoError",1,["flux_refineck::errors::GotoError"]],["impl UnwindSafe for AssignError",1,["flux_refineck::errors::AssignError"]],["impl UnwindSafe for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl UnwindSafe for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl UnwindSafe for RefineError",1,["flux_refineck::errors::RefineError"]],["impl UnwindSafe for DivError",1,["flux_refineck::errors::DivError"]],["impl UnwindSafe for RemError",1,["flux_refineck::errors::RemError"]],["impl UnwindSafe for AssertError",1,["flux_refineck::errors::AssertError"]],["impl UnwindSafe for FoldError",1,["flux_refineck::errors::FoldError"]],["impl UnwindSafe for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl UnwindSafe for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl UnwindSafe for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> !UnwindSafe for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl UnwindSafe for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> !UnwindSafe for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl UnwindSafe for Location",1,["flux_syntax::lexer::Location"]],["impl UnwindSafe for NodeId",1,["flux_syntax::surface::NodeId"]],["impl UnwindSafe for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl UnwindSafe for Item",1,["flux_syntax::surface::Item"]],["impl UnwindSafe for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl UnwindSafe for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl UnwindSafe for Generics",1,["flux_syntax::surface::Generics"]],["impl UnwindSafe for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl UnwindSafe for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl UnwindSafe for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl UnwindSafe for StructDef",1,["flux_syntax::surface::StructDef"]],["impl UnwindSafe for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl UnwindSafe for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl UnwindSafe for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl UnwindSafe for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl UnwindSafe for QualNames",1,["flux_syntax::surface::QualNames"]],["impl UnwindSafe for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl UnwindSafe for Sort",1,["flux_syntax::surface::Sort"]],["impl UnwindSafe for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl UnwindSafe for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl UnwindSafe for FnSig",1,["flux_syntax::surface::FnSig"]],["impl UnwindSafe for Constraint",1,["flux_syntax::surface::Constraint"]],["impl UnwindSafe for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl UnwindSafe for Async",1,["flux_syntax::surface::Async"]],["impl UnwindSafe for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl UnwindSafe for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl UnwindSafe for Arg",1,["flux_syntax::surface::Arg"]],["impl UnwindSafe for Ty",1,["flux_syntax::surface::Ty"]],["impl UnwindSafe for TyKind",1,["flux_syntax::surface::TyKind"]],["impl UnwindSafe for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl UnwindSafe for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl UnwindSafe for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl UnwindSafe for Indices",1,["flux_syntax::surface::Indices"]],["impl UnwindSafe for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl UnwindSafe for BindKind",1,["flux_syntax::surface::BindKind"]],["impl UnwindSafe for Path",1,["flux_syntax::surface::Path"]],["impl UnwindSafe for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl UnwindSafe for Expr",1,["flux_syntax::surface::Expr"]],["impl UnwindSafe for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl UnwindSafe for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl UnwindSafe for BinOp",1,["flux_syntax::surface::BinOp"]],["impl UnwindSafe for UnOp",1,["flux_syntax::surface::UnOp"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl UnwindSafe for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl UnwindSafe for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl UnwindSafe for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl UnwindSafe for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl UnwindSafe for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl UnwindSafe for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl UnwindSafe for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl UnwindSafe for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl UnwindSafe for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> !UnwindSafe for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl UnwindSafe for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl UnwindSafe for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> !UnwindSafe for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl UnwindSafe for UserParseError",1,["flux_syntax::UserParseError"]],["impl UnwindSafe for ParseError",1,["flux_syntax::ParseError"]],["impl UnwindSafe for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]],
     "xtask":[["impl UnwindSafe for Xtask",1,["xtask::Xtask"]],["impl UnwindSafe for XtaskCmd",1,["xtask::XtaskCmd"]],["impl UnwindSafe for Test",1,["xtask::Test"]],["impl UnwindSafe for Run",1,["xtask::Run"]],["impl UnwindSafe for Expand",1,["xtask::Expand"]],["impl UnwindSafe for Install",1,["xtask::Install"]],["impl UnwindSafe for Uninstall",1,["xtask::Uninstall"]],["impl UnwindSafe for BuildSysroot",1,["xtask::BuildSysroot"]],["impl UnwindSafe for Doc",1,["xtask::Doc"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/flux_fixpoint/trait.Symbol.js b/doc/trait.impl/flux_fixpoint/trait.Symbol.js
    new file mode 100644
    index 0000000000..874dd31cea
    --- /dev/null
    +++ b/doc/trait.impl/flux_fixpoint/trait.Symbol.js
    @@ -0,0 +1,3 @@
    +(function() {var implementors = {
    +"flux_fixpoint":[]
    +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/flux_fixpoint/trait.Types.js b/doc/trait.impl/flux_fixpoint/trait.Types.js
    new file mode 100644
    index 0000000000..6229124336
    --- /dev/null
    +++ b/doc/trait.impl/flux_fixpoint/trait.Types.js
    @@ -0,0 +1,4 @@
    +(function() {var implementors = {
    +"flux_fixpoint":[],
    +"flux_refineck":[["impl Types for FixpointTypes"]]
    +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/flux_middle/pretty/trait.Pretty.js b/doc/trait.impl/flux_middle/pretty/trait.Pretty.js
    index d831b3be6f..f715ab63e6 100644
    --- a/doc/trait.impl/flux_middle/pretty/trait.Pretty.js
    +++ b/doc/trait.impl/flux_middle/pretty/trait.Pretty.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
     "flux_middle":[],
    -"flux_refineck":[["impl Pretty for Scope"],["impl Pretty for BasicBlockEnvShape"],["impl Pretty for LocKind"],["impl Pretty for Tag"],["impl Pretty for PlacesTree"],["impl Pretty for RefineTree"],["impl Pretty for RefineSubtree<'_>"],["impl Pretty for TypeEnv<'_>"],["impl Pretty for BasicBlockEnv"],["impl Pretty for NodePtr"],["impl Pretty for RefineCtxt<'_>"]]
    +"flux_refineck":[["impl Pretty for RefineSubtree<'_>"],["impl Pretty for BasicBlockEnvShape"],["impl Pretty for Scope"],["impl Pretty for TypeEnv<'_>"],["impl Pretty for BasicBlockEnv"],["impl Pretty for RefineCtxt<'_>"],["impl Pretty for Tag"],["impl Pretty for PlacesTree"],["impl Pretty for NodePtr"],["impl Pretty for RefineTree"],["impl Pretty for LocKind"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/flux_middle/rty/fold/trait.TypeFoldable.js b/doc/trait.impl/flux_middle/rty/fold/trait.TypeFoldable.js
    index 54627ad7ac..9bc5c3c195 100644
    --- a/doc/trait.impl/flux_middle/rty/fold/trait.TypeFoldable.js
    +++ b/doc/trait.impl/flux_middle/rty/fold/trait.TypeFoldable.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
     "flux_middle":[],
    -"flux_refineck":[["impl TypeFoldable for PlacesTree"],["impl TypeFoldable for BasicBlockEnvData"]]
    +"flux_refineck":[["impl TypeFoldable for BasicBlockEnvData"],["impl TypeFoldable for PlacesTree"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/flux_middle/rty/fold/trait.TypeFolder.js b/doc/trait.impl/flux_middle/rty/fold/trait.TypeFolder.js
    index 00c43d80f0..bc44602d28 100644
    --- a/doc/trait.impl/flux_middle/rty/fold/trait.TypeFolder.js
    +++ b/doc/trait.impl/flux_middle/rty/fold/trait.TypeFolder.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
     "flux_middle":[],
    -"flux_refineck":[["impl TypeFolder for Generalizer"],["impl TypeFolder for Unpacker<'_, '_>"],["impl TypeFolder for Updater<'_>"]]
    +"flux_refineck":[["impl TypeFolder for Updater<'_>"],["impl TypeFolder for Generalizer"],["impl TypeFolder for Unpacker<'_, '_>"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/flux_middle/rty/fold/trait.TypeVisitable.js b/doc/trait.impl/flux_middle/rty/fold/trait.TypeVisitable.js
    index 684d8c08f8..bbe5c7282f 100644
    --- a/doc/trait.impl/flux_middle/rty/fold/trait.TypeVisitable.js
    +++ b/doc/trait.impl/flux_middle/rty/fold/trait.TypeVisitable.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
     "flux_middle":[],
    -"flux_refineck":[["impl TypeVisitable for BasicBlockEnvData"],["impl TypeVisitable for PlacesTree"]]
    +"flux_refineck":[["impl TypeVisitable for PlacesTree"],["impl TypeVisitable for BasicBlockEnvData"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js b/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js
    index 2562ee6e17..ce01bd27f2 100644
    --- a/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js
    +++ b/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js
    @@ -4,9 +4,9 @@
     "flux_driver":[["impl DynSend for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> !DynSend for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl DynSend for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl DynSend for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl DynSend for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl DynSend for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl DynSend for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl DynSend for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl DynSend for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl DynSend for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl DynSend for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> DynSend for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl DynSend for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl DynSend for Specs",1,["flux_driver::collector::Specs"]],["impl DynSend for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl DynSend for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl DynSend for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl DynSend for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl DynSend for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl DynSend for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl DynSend for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl DynSend for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl DynSend for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl DynSend for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl DynSend for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl DynSend for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl DynSend for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> DynSend for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl DynSend for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> !DynSend for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl DynSend for Env",1,["flux_fhir_analysis::conv::Env"]],["impl DynSend for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl DynSend for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> DynSend for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> DynSend for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl DynSend for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl DynSend for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl DynSend for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl DynSend for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl DynSend for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl DynSend for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> DynSend for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> DynSend for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> DynSend for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> DynSend for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl DynSend for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl DynSend for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> DynSend for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> DynSend for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> DynSend for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl DynSend for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl DynSend for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl DynSend for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> !DynSend for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> !DynSend for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl DynSend for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl DynSend for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl DynSend for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl DynSend for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> DynSend for Constraint<Tag>where\n    Tag: DynSend,",1,["flux_fixpoint::constraint::Constraint"]],["impl DynSend for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl DynSend for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl DynSend for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl DynSend for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl DynSend for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl DynSend for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl DynSend for Func",1,["flux_fixpoint::constraint::Func"]],["impl DynSend for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl DynSend for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl DynSend for Const",1,["flux_fixpoint::constraint::Const"]],["impl DynSend for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl DynSend for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl DynSend for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl DynSend for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl DynSend for Name",1,["flux_fixpoint::constraint::Name"]],["impl DynSend for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> DynSend for PredTag<'a, Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> DynSend for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl DynSend for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> DynSend for Task<Tag>where\n    Tag: DynSend,",1,["flux_fixpoint::Task"]],["impl<Tag> DynSend for FixpointResult<Tag>where\n    Tag: DynSend,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> DynSend for Error<Tag>where\n    Tag: DynSend,",1,["flux_fixpoint::Error"]],["impl DynSend for Stats",1,["flux_fixpoint::Stats"]],["impl DynSend for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl DynSend for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl DynSend for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl DynSend for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> DynSend for Constraint<T>where\n    <T as Types>::KVar: DynSend,\n    <T as Types>::Tag: DynSend,\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::constraint::Constraint"]],["impl DynSend for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl DynSend for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl DynSend for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl DynSend for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> DynSend for Pred<T>where\n    <T as Types>::KVar: DynSend,\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> DynSend for Expr<T>where\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> DynSend for Func<T>where\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::constraint::Func"]],["impl DynSend for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> DynSend for Qualifier<T>where\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> DynSend for Const<T>where\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::constraint::Const"]],["impl DynSend for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl DynSend for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl DynSend for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> DynSend for PredTag<'a, T>where\n    <T as Types>::KVar: DynSync,\n    <T as Types>::Tag: DynSync,\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> DynSend for FmtParens<'a, T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::FmtParens"]],["impl DynSend for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> DynSend for ConstInfo<T>where\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::ConstInfo"]],["impl<T> DynSend for Task<T>where\n    <T as Types>::KVar: DynSend,\n    <T as Types>::Tag: DynSend,\n    <T as Types>::Var: DynSend,",1,["flux_fixpoint::Task"]],["impl<Tag> DynSend for FixpointResult<Tag>where\n    Tag: DynSend,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> DynSend for Error<Tag>where\n    Tag: DynSend,",1,["flux_fixpoint::Error"]],["impl DynSend for Stats",1,["flux_fixpoint::Stats"]],["impl DynSend for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> DynSend for KVar<T>where\n    <T as Types>::KVar: DynSend,",1,["flux_fixpoint::KVar"]]],
     "flux_metadata":[["impl<'a> DynSend for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !DynSend for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> DynSend for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl DynSend for CStore",1,["flux_metadata::CStore"]],["impl DynSend for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl DynSend for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> DynSend for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> DynSend for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl DynSend for Generics",1,["flux_middle::fhir::Generics"]],["impl DynSend for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl DynSend for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl DynSend for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl DynSend for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl DynSend for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl DynSend for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl DynSend for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl DynSend for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl DynSend for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl DynSend for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl DynSend for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl DynSend for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl DynSend for Map",1,["flux_middle::fhir::Map"]],["impl DynSend for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl DynSend for StructDef",1,["flux_middle::fhir::StructDef"]],["impl DynSend for StructKind",1,["flux_middle::fhir::StructKind"]],["impl DynSend for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl DynSend for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl DynSend for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl DynSend for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl DynSend for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl DynSend for FnSig",1,["flux_middle::fhir::FnSig"]],["impl DynSend for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl DynSend for Constraint",1,["flux_middle::fhir::Constraint"]],["impl DynSend for Ty",1,["flux_middle::fhir::Ty"]],["impl DynSend for TyKind",1,["flux_middle::fhir::TyKind"]],["impl DynSend for MutTy",1,["flux_middle::fhir::MutTy"]],["impl DynSend for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl DynSend for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl DynSend for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl DynSend for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl DynSend for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> DynSend for LocalTableInContext<'a, T>where\n    T: DynSync,",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> DynSend for LocalTableInContextMut<'a, T>where\n    T: DynSend,",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl DynSend for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl DynSend for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl DynSend for FhirId",1,["flux_middle::fhir::FhirId"]],["impl DynSend for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl DynSend for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl DynSend for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl DynSend for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl DynSend for QPath",1,["flux_middle::fhir::QPath"]],["impl DynSend for Path",1,["flux_middle::fhir::Path"]],["impl DynSend for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl DynSend for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl DynSend for Res",1,["flux_middle::fhir::Res"]],["impl DynSend for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl DynSend for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl DynSend for InferMode",1,["flux_middle::fhir::InferMode"]],["impl DynSend for SortVid",1,["flux_middle::fhir::SortVid"]],["impl DynSend for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl DynSend for Sort",1,["flux_middle::fhir::Sort"]],["impl DynSend for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl DynSend for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl DynSend for Expr",1,["flux_middle::fhir::Expr"]],["impl DynSend for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl DynSend for Func",1,["flux_middle::fhir::Func"]],["impl DynSend for Lit",1,["flux_middle::fhir::Lit"]],["impl DynSend for Ident",1,["flux_middle::fhir::Ident"]],["impl DynSend for Name",1,["flux_middle::fhir::Name"]],["impl DynSend for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl DynSend for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl DynSend for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl DynSend for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !DynSend for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> DynSend for Interned<T>where\n    T: DynSend + DynSync,",1,["flux_middle::intern::Interned"]],["impl<T> !DynSend for InternStorage<T>",1,["flux_middle::intern::InternStorage"]],["impl DynSend for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> DynSend for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> DynSend for WithCx<'a, 'tcx, T>where\n    T: DynSend,",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> DynSend for Join<'a, I>where\n    I: DynSend,",1,["flux_middle::pretty::Join"]],["impl<'a, T> DynSend for Parens<'a, T>where\n    T: DynSync,",1,["flux_middle::pretty::Parens"]],["impl DynSend for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl DynSend for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !DynSend for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl DynSend for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl DynSend for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl DynSend for EVar",1,["flux_middle::rty::evars::EVar"]],["impl DynSend for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl DynSend for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl DynSend for EVid",1,["flux_middle::rty::evars::EVid"]],["impl DynSend for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl DynSend for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl DynSend for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl DynSend for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl DynSend for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl DynSend for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl DynSend for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl DynSend for KVar",1,["flux_middle::rty::expr::KVar"]],["impl DynSend for Var",1,["flux_middle::rty::expr::Var"]],["impl DynSend for Path",1,["flux_middle::rty::expr::Path"]],["impl DynSend for Loc",1,["flux_middle::rty::expr::Loc"]],["impl DynSend for KVid",1,["flux_middle::rty::expr::KVid"]],["impl DynSend for Name",1,["flux_middle::rty::expr::Name"]],["impl DynSend for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> DynSend for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl DynSend for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> !DynSend for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl DynSend for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl DynSend for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> !DynSend for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl DynSend for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> DynSend for BoundVarReplacer<D>where\n    D: DynSend,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> DynSend for FnMutDelegate<F1, F2>where\n    F1: DynSend,\n    F2: DynSend,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> DynSend for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> DynSend for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl DynSend for Generics",1,["flux_middle::rty::Generics"]],["impl DynSend for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl DynSend for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl DynSend for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl DynSend for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl DynSend for Clause",1,["flux_middle::rty::Clause"]],["impl DynSend for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl DynSend for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl DynSend for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl DynSend for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl DynSend for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl DynSend for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl DynSend for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl DynSend for SortVar",1,["flux_middle::rty::SortVar"]],["impl DynSend for Sort",1,["flux_middle::rty::Sort"]],["impl DynSend for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl DynSend for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl DynSend for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl DynSend for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> DynSend for Opaqueness<T>where\n    T: DynSend,",1,["flux_middle::rty::Opaqueness"]],["impl DynSend for Invariant",1,["flux_middle::rty::Invariant"]],["impl DynSend for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl DynSend for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> DynSend for Binder<T>where\n    T: DynSend,",1,["flux_middle::rty::Binder"]],["impl<T> DynSend for EarlyBinder<T>where\n    T: DynSend,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> DynSend for TupleTree<T>where\n    T: DynSend + DynSync,",1,["flux_middle::rty::TupleTree"]],["impl DynSend for FnSig",1,["flux_middle::rty::FnSig"]],["impl DynSend for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl DynSend for Constraint",1,["flux_middle::rty::Constraint"]],["impl DynSend for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl DynSend for Defn",1,["flux_middle::rty::Defn"]],["impl DynSend for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl DynSend for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl DynSend for TyS",1,["flux_middle::rty::TyS"]],["impl DynSend for TyKind",1,["flux_middle::rty::TyKind"]],["impl DynSend for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl DynSend for Index",1,["flux_middle::rty::Index"]],["impl DynSend for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl DynSend for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl DynSend for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl DynSend for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl DynSend for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !DynSend for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> DynSend for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl DynSend for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> DynSend for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> DynSend for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl DynSend for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> DynSend for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl DynSend for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl DynSend for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl DynSend for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl DynSend for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl DynSend for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl DynSend for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl DynSend for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl DynSend for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl DynSend for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl DynSend for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl DynSend for Place",1,["flux_middle::rustc::mir::Place"]],["impl DynSend for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl DynSend for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl DynSend for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl DynSend for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> DynSend for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> DynSend for EarlyBinder<T>where\n    T: DynSend,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> DynSend for Binder<T>where\n    T: DynSend,",1,["flux_middle::rustc::ty::Binder"]],["impl DynSend for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl DynSend for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl DynSend for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl DynSend for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl DynSend for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl DynSend for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl DynSend for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl DynSend for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl DynSend for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl DynSend for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl DynSend for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl DynSend for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl DynSend for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl DynSend for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl DynSend for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl DynSend for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl DynSend for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl DynSend for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl DynSend for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl DynSend for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl DynSend for Const",1,["flux_middle::rustc::ty::Const"]],["impl DynSend for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl DynSend for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl DynSend for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> DynSend for ClosureArgsParts<'a, T>where\n    T: DynSync,",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> DynSend for GeneratorArgsParts<'a, T>where\n    T: DynSync,",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl DynSend for Region",1,["flux_middle::rustc::ty::Region"]],["impl DynSend for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl DynSend for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> DynSend for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl DynSend for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl DynSend for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> !DynSend for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl DynSend for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl DynSend for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl DynSend for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl DynSend for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !DynSend for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl DynSend for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl DynSend for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl DynSend for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl DynSend for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !DynSend for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !DynSend for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !DynSend for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl DynSend for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl DynSend for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl DynSend for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl DynSend for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl DynSend for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl DynSend for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl DynSend for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !DynSend for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl DynSend for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> DynSend for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl DynSend for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl DynSend for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !DynSend for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl DynSend for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> DynSend for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl DynSend for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl DynSend for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl DynSend for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> DynSend for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> DynSend for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl DynSend for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl DynSend for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> DynSend for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl DynSend for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl DynSend for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl DynSend for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl DynSend for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl DynSend for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl DynSend for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl DynSend for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl DynSend for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> DynSend for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl DynSend for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> DynSend for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> DynSend for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !DynSend for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !DynSend for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !DynSend for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !DynSend for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl DynSend for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !DynSend for Node",1,["flux_refineck::refine_tree::Node"]],["impl !DynSend for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !DynSend for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl DynSend for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !DynSend for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl DynSend for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !DynSend for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !DynSend for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !DynSend for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> DynSend for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !DynSend for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl DynSend for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl DynSend for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl DynSend for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> DynSend for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !DynSend for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl DynSend for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !DynSend for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> DynSend for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl DynSend for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> DynSend for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl DynSend for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl DynSend for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl DynSend for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl DynSend for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl DynSend for GotoError",1,["flux_refineck::errors::GotoError"]],["impl DynSend for AssignError",1,["flux_refineck::errors::AssignError"]],["impl DynSend for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl DynSend for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl DynSend for RefineError",1,["flux_refineck::errors::RefineError"]],["impl DynSend for DivError",1,["flux_refineck::errors::DivError"]],["impl DynSend for RemError",1,["flux_refineck::errors::RemError"]],["impl DynSend for AssertError",1,["flux_refineck::errors::AssertError"]],["impl DynSend for FoldError",1,["flux_refineck::errors::FoldError"]],["impl DynSend for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl DynSend for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl DynSend for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl DynSend for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl DynSend for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !DynSend for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl DynSend for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl DynSend for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl DynSend for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl DynSend for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !DynSend for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !DynSend for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !DynSend for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl DynSend for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl DynSend for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl DynSend for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl DynSend for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl DynSend for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl DynSend for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl DynSend for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl DynSend for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl DynSend for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl DynSend for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl DynSend for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl DynSend for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !DynSend for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl DynSend for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl DynSend for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> DynSend for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl DynSend for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl DynSend for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !DynSend for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl DynSend for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> DynSend for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl DynSend for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl DynSend for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl DynSend for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> DynSend for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> DynSend for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl DynSend for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl DynSend for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> DynSend for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl DynSend for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl DynSend for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl DynSend for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl DynSend for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl DynSend for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl DynSend for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl DynSend for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl DynSend for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> DynSend for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl DynSend for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> DynSend for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> DynSend for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !DynSend for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !DynSend for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !DynSend for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !DynSend for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl DynSend for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !DynSend for Node",1,["flux_refineck::refine_tree::Node"]],["impl !DynSend for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !DynSend for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl DynSend for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !DynSend for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl DynSend for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !DynSend for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !DynSend for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !DynSend for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> DynSend for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !DynSend for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl DynSend for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl DynSend for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl DynSend for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> DynSend for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !DynSend for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl DynSend for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !DynSend for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> DynSend for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl DynSend for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> DynSend for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl DynSend for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl DynSend for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl DynSend for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl DynSend for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl DynSend for GotoError",1,["flux_refineck::errors::GotoError"]],["impl DynSend for AssignError",1,["flux_refineck::errors::AssignError"]],["impl DynSend for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl DynSend for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl DynSend for RefineError",1,["flux_refineck::errors::RefineError"]],["impl DynSend for DivError",1,["flux_refineck::errors::DivError"]],["impl DynSend for RemError",1,["flux_refineck::errors::RemError"]],["impl DynSend for AssertError",1,["flux_refineck::errors::AssertError"]],["impl DynSend for FoldError",1,["flux_refineck::errors::FoldError"]],["impl DynSend for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl DynSend for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl DynSend for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> !DynSend for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl DynSend for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> DynSend for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl DynSend for Location",1,["flux_syntax::lexer::Location"]],["impl DynSend for NodeId",1,["flux_syntax::surface::NodeId"]],["impl DynSend for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl DynSend for Item",1,["flux_syntax::surface::Item"]],["impl DynSend for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl DynSend for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl DynSend for Generics",1,["flux_syntax::surface::Generics"]],["impl DynSend for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl DynSend for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl DynSend for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl DynSend for StructDef",1,["flux_syntax::surface::StructDef"]],["impl DynSend for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl DynSend for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl DynSend for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl DynSend for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl DynSend for QualNames",1,["flux_syntax::surface::QualNames"]],["impl DynSend for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl DynSend for Sort",1,["flux_syntax::surface::Sort"]],["impl DynSend for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl DynSend for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl DynSend for FnSig",1,["flux_syntax::surface::FnSig"]],["impl DynSend for Constraint",1,["flux_syntax::surface::Constraint"]],["impl DynSend for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl DynSend for Async",1,["flux_syntax::surface::Async"]],["impl DynSend for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl DynSend for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl DynSend for Arg",1,["flux_syntax::surface::Arg"]],["impl DynSend for Ty",1,["flux_syntax::surface::Ty"]],["impl DynSend for TyKind",1,["flux_syntax::surface::TyKind"]],["impl DynSend for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl DynSend for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl DynSend for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl DynSend for Indices",1,["flux_syntax::surface::Indices"]],["impl DynSend for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl DynSend for BindKind",1,["flux_syntax::surface::BindKind"]],["impl DynSend for Path",1,["flux_syntax::surface::Path"]],["impl DynSend for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl DynSend for Expr",1,["flux_syntax::surface::Expr"]],["impl DynSend for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl DynSend for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl DynSend for BinOp",1,["flux_syntax::surface::BinOp"]],["impl DynSend for UnOp",1,["flux_syntax::surface::UnOp"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl DynSend for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl DynSend for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl DynSend for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl DynSend for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl DynSend for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl DynSend for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl DynSend for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl DynSend for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl DynSend for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> DynSend for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl DynSend for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl DynSend for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> DynSend for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl DynSend for UserParseError",1,["flux_syntax::UserParseError"]],["impl DynSend for ParseError",1,["flux_syntax::ParseError"]],["impl DynSend for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js b/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js
    index 2c284cd173..d0720c2f43 100644
    --- a/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js
    +++ b/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js
    @@ -4,9 +4,9 @@
     "flux_driver":[["impl DynSync for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl<'a, 'genv, 'tcx> !DynSync for CrateChecker<'a, 'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl DynSync for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl DynSync for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl DynSync for InvalidConstant",1,["flux_driver::collector::errors::InvalidConstant"]],["impl DynSync for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl DynSync for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl DynSync for MalformedExternSpec",1,["flux_driver::collector::errors::MalformedExternSpec"]],["impl DynSync for MissingFnSigForExternSpec",1,["flux_driver::collector::errors::MissingFnSigForExternSpec"]],["impl DynSync for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl DynSync for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl<'tcx, 'a> DynSync for SpecCollector<'tcx, 'a>",1,["flux_driver::collector::SpecCollector"]],["impl DynSync for IgnoreKey",1,["flux_driver::collector::IgnoreKey"]],["impl DynSync for Specs",1,["flux_driver::collector::Specs"]],["impl DynSync for FnSpec",1,["flux_driver::collector::FnSpec"]],["impl DynSync for ConstSig",1,["flux_driver::collector::ConstSig"]],["impl DynSync for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl DynSync for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl DynSync for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl DynSync for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl DynSync for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]]],
     "flux_errors":[["impl DynSync for FluxSession",1,["flux_errors::FluxSession"]]],
     "flux_fhir_analysis":[["impl DynSync for InvalidRefinement",1,["flux_fhir_analysis::annot_check::errors::InvalidRefinement"]],["impl DynSync for FunArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FunArgCountMismatch"]],["impl DynSync for GenericArgCountMismatch",1,["flux_fhir_analysis::annot_check::errors::GenericArgCountMismatch"]],["impl DynSync for ArrayLenMismatch",1,["flux_fhir_analysis::annot_check::errors::ArrayLenMismatch"]],["impl DynSync for FieldCountMismatch",1,["flux_fhir_analysis::annot_check::errors::FieldCountMismatch"]],["impl<'zip> DynSync for Zipper<'zip>",1,["flux_fhir_analysis::annot_check::Zipper"]],["impl DynSync for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl<'a, 'tcx> !DynSync for ConvCtxt<'a, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl DynSync for Env",1,["flux_fhir_analysis::conv::Env"]],["impl DynSync for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl DynSync for Entry",1,["flux_fhir_analysis::conv::Entry"]],["impl<'a> DynSync for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> DynSync for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl DynSync for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl DynSync for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl DynSync for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl DynSync for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl DynSync for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl DynSync for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl<'a> DynSync for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> DynSync for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> DynSync for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a> DynSync for ExpectedNumeric<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedNumeric"]],["impl DynSync for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl DynSync for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl<'a> DynSync for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> DynSync for InvalidBaseInstance<'a>",1,["flux_fhir_analysis::wf::errors::InvalidBaseInstance"]],["impl<'a> DynSync for NoEquality<'a>",1,["flux_fhir_analysis::wf::errors::NoEquality"]],["impl DynSync for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl DynSync for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl DynSync for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl<'a, 'tcx> !DynSync for InferCtxt<'a, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'a, 'tcx> !DynSync for Wf<'a, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl DynSync for XiCtxt",1,["flux_fhir_analysis::wf::XiCtxt"]],["impl DynSync for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]]],
    -"flux_fixpoint":[["impl DynSync for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl DynSync for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<Tag> DynSync for Constraint<Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::constraint::Constraint"]],["impl DynSync for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl DynSync for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl DynSync for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl DynSync for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl DynSync for Pred",1,["flux_fixpoint::constraint::Pred"]],["impl DynSync for Expr",1,["flux_fixpoint::constraint::Expr"]],["impl DynSync for Func",1,["flux_fixpoint::constraint::Func"]],["impl DynSync for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl DynSync for Qualifier",1,["flux_fixpoint::constraint::Qualifier"]],["impl DynSync for Const",1,["flux_fixpoint::constraint::Const"]],["impl DynSync for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl DynSync for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl DynSync for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl DynSync for KVid",1,["flux_fixpoint::constraint::KVid"]],["impl DynSync for Name",1,["flux_fixpoint::constraint::Name"]],["impl DynSync for ConstName",1,["flux_fixpoint::constraint::ConstName"]],["impl<'a, Tag> DynSync for PredTag<'a, Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a> DynSync for FmtParens<'a>",1,["flux_fixpoint::constraint::FmtParens"]],["impl DynSync for ConstInfo",1,["flux_fixpoint::ConstInfo"]],["impl<Tag> DynSync for Task<Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::Task"]],["impl<Tag> DynSync for FixpointResult<Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> DynSync for Error<Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::Error"]],["impl DynSync for Stats",1,["flux_fixpoint::Stats"]],["impl DynSync for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl DynSync for KVar",1,["flux_fixpoint::KVar"]]],
    +"flux_fixpoint":[["impl DynSync for BigInt",1,["flux_fixpoint::big_int::BigInt"]],["impl DynSync for Sign",1,["flux_fixpoint::big_int::Sign"]],["impl<T> DynSync for Constraint<T>where\n    <T as Types>::KVar: DynSync,\n    <T as Types>::Tag: DynSync,\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::Constraint"]],["impl DynSync for Sort",1,["flux_fixpoint::constraint::Sort"]],["impl DynSync for SortCtor",1,["flux_fixpoint::constraint::SortCtor"]],["impl DynSync for FuncSort",1,["flux_fixpoint::constraint::FuncSort"]],["impl DynSync for PolyFuncSort",1,["flux_fixpoint::constraint::PolyFuncSort"]],["impl<T> DynSync for Pred<T>where\n    <T as Types>::KVar: DynSync,\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::Pred"]],["impl<T> DynSync for Expr<T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::Expr"]],["impl<T> DynSync for Func<T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::Func"]],["impl DynSync for Proj",1,["flux_fixpoint::constraint::Proj"]],["impl<T> DynSync for Qualifier<T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::Qualifier"]],["impl<T> DynSync for Const<T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::Const"]],["impl DynSync for BinOp",1,["flux_fixpoint::constraint::BinOp"]],["impl DynSync for UnOp",1,["flux_fixpoint::constraint::UnOp"]],["impl DynSync for Constant",1,["flux_fixpoint::constraint::Constant"]],["impl<'a, T> DynSync for PredTag<'a, T>where\n    <T as Types>::KVar: DynSync,\n    <T as Types>::Tag: DynSync,\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::PredTag"]],["impl<'a, T> DynSync for FmtParens<'a, T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::constraint::FmtParens"]],["impl DynSync for StringTypes",1,["flux_fixpoint::StringTypes"]],["impl<T> DynSync for ConstInfo<T>where\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::ConstInfo"]],["impl<T> DynSync for Task<T>where\n    <T as Types>::KVar: DynSync,\n    <T as Types>::Tag: DynSync,\n    <T as Types>::Var: DynSync,",1,["flux_fixpoint::Task"]],["impl<Tag> DynSync for FixpointResult<Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::FixpointResult"]],["impl<Tag> DynSync for Error<Tag>where\n    Tag: DynSync,",1,["flux_fixpoint::Error"]],["impl DynSync for Stats",1,["flux_fixpoint::Stats"]],["impl DynSync for CrashInfo",1,["flux_fixpoint::CrashInfo"]],["impl<T> DynSync for KVar<T>where\n    <T as Types>::KVar: DynSync,",1,["flux_fixpoint::KVar"]]],
     "flux_metadata":[["impl<'a> DynSync for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !DynSync for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'tcx> DynSync for EncodeContext<'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl DynSync for CStore",1,["flux_metadata::CStore"]],["impl DynSync for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl DynSync for AdtMetadata",1,["flux_metadata::AdtMetadata"]]],
     "flux_middle":[["impl<'a> DynSync for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a, 'tcx> DynSync for LiftCtxt<'a, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl DynSync for Generics",1,["flux_middle::fhir::Generics"]],["impl DynSync for GenericParam",1,["flux_middle::fhir::GenericParam"]],["impl DynSync for GenericParamKind",1,["flux_middle::fhir::GenericParamKind"]],["impl DynSync for ConstInfo",1,["flux_middle::fhir::ConstInfo"]],["impl DynSync for Qualifier",1,["flux_middle::fhir::Qualifier"]],["impl DynSync for FluxItem",1,["flux_middle::fhir::FluxItem"]],["impl DynSync for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl DynSync for GenericPredicates",1,["flux_middle::fhir::GenericPredicates"]],["impl DynSync for WhereBoundPredicate",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl DynSync for GenericBound",1,["flux_middle::fhir::GenericBound"]],["impl DynSync for PolyTraitRef",1,["flux_middle::fhir::PolyTraitRef"]],["impl DynSync for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl DynSync for OpaqueTy",1,["flux_middle::fhir::OpaqueTy"]],["impl !DynSync for Map",1,["flux_middle::fhir::Map"]],["impl DynSync for TyAlias",1,["flux_middle::fhir::TyAlias"]],["impl DynSync for StructDef",1,["flux_middle::fhir::StructDef"]],["impl DynSync for StructKind",1,["flux_middle::fhir::StructKind"]],["impl DynSync for FieldDef",1,["flux_middle::fhir::FieldDef"]],["impl DynSync for EnumDef",1,["flux_middle::fhir::EnumDef"]],["impl DynSync for VariantDef",1,["flux_middle::fhir::VariantDef"]],["impl DynSync for VariantRet",1,["flux_middle::fhir::VariantRet"]],["impl DynSync for FnInfo",1,["flux_middle::fhir::FnInfo"]],["impl DynSync for FnSig",1,["flux_middle::fhir::FnSig"]],["impl DynSync for FnOutput",1,["flux_middle::fhir::FnOutput"]],["impl DynSync for Constraint",1,["flux_middle::fhir::Constraint"]],["impl DynSync for Ty",1,["flux_middle::fhir::Ty"]],["impl DynSync for TyKind",1,["flux_middle::fhir::TyKind"]],["impl DynSync for MutTy",1,["flux_middle::fhir::MutTy"]],["impl DynSync for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl DynSync for ArrayLen",1,["flux_middle::fhir::ArrayLen"]],["impl DynSync for WeakKind",1,["flux_middle::fhir::WeakKind"]],["impl DynSync for WfckResults",1,["flux_middle::fhir::WfckResults"]],["impl DynSync for Coercion",1,["flux_middle::fhir::Coercion"]],["impl<'a, T> DynSync for LocalTableInContext<'a, T>where\n    T: DynSync,",1,["flux_middle::fhir::LocalTableInContext"]],["impl<'a, T> DynSync for LocalTableInContextMut<'a, T>where\n    T: DynSync,",1,["flux_middle::fhir::LocalTableInContextMut"]],["impl DynSync for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl DynSync for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl DynSync for FhirId",1,["flux_middle::fhir::FhirId"]],["impl DynSync for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl DynSync for RefineArg",1,["flux_middle::fhir::RefineArg"]],["impl DynSync for BaseTy",1,["flux_middle::fhir::BaseTy"]],["impl DynSync for BaseTyKind",1,["flux_middle::fhir::BaseTyKind"]],["impl DynSync for QPath",1,["flux_middle::fhir::QPath"]],["impl DynSync for Path",1,["flux_middle::fhir::Path"]],["impl DynSync for TypeBinding",1,["flux_middle::fhir::TypeBinding"]],["impl DynSync for GenericArg",1,["flux_middle::fhir::GenericArg"]],["impl DynSync for Res",1,["flux_middle::fhir::Res"]],["impl DynSync for RefineParam",1,["flux_middle::fhir::RefineParam"]],["impl DynSync for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl DynSync for InferMode",1,["flux_middle::fhir::InferMode"]],["impl DynSync for SortVid",1,["flux_middle::fhir::SortVid"]],["impl DynSync for SortCtor",1,["flux_middle::fhir::SortCtor"]],["impl DynSync for Sort",1,["flux_middle::fhir::Sort"]],["impl DynSync for FuncSort",1,["flux_middle::fhir::FuncSort"]],["impl DynSync for PolyFuncSort",1,["flux_middle::fhir::PolyFuncSort"]],["impl DynSync for Expr",1,["flux_middle::fhir::Expr"]],["impl DynSync for ExprKind",1,["flux_middle::fhir::ExprKind"]],["impl DynSync for Func",1,["flux_middle::fhir::Func"]],["impl DynSync for Lit",1,["flux_middle::fhir::Lit"]],["impl DynSync for Ident",1,["flux_middle::fhir::Ident"]],["impl DynSync for Name",1,["flux_middle::fhir::Name"]],["impl DynSync for RefinedBy",1,["flux_middle::fhir::RefinedBy"]],["impl DynSync for FuncDecl",1,["flux_middle::fhir::FuncDecl"]],["impl DynSync for FuncKind",1,["flux_middle::fhir::FuncKind"]],["impl DynSync for Defn",1,["flux_middle::fhir::Defn"]],["impl<'sess, 'tcx> !DynSync for GlobalEnv<'sess, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<T: ?Sized> DynSync for Interned<T>where\n    T: DynSend + DynSync,",1,["flux_middle::intern::Interned"]],["impl<T> !DynSync for InternStorage<T>",1,["flux_middle::intern::InternStorage"]],["impl DynSync for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl<'tcx> DynSync for PPrintCx<'tcx>",1,["flux_middle::pretty::PPrintCx"]],["impl<'a, 'tcx, T> DynSync for WithCx<'a, 'tcx, T>where\n    T: DynSync,",1,["flux_middle::pretty::WithCx"]],["impl<'a, I> !DynSync for Join<'a, I>",1,["flux_middle::pretty::Join"]],["impl<'a, T> DynSync for Parens<'a, T>where\n    T: DynSync,",1,["flux_middle::pretty::Parens"]],["impl DynSync for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl DynSync for Providers",1,["flux_middle::queries::Providers"]],["impl<'tcx> !DynSync for Queries<'tcx>",1,["flux_middle::queries::Queries"]],["impl DynSync for EVarGen",1,["flux_middle::rty::evars::EVarGen"]],["impl DynSync for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl DynSync for EVar",1,["flux_middle::rty::evars::EVar"]],["impl DynSync for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl DynSync for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl DynSync for EVid",1,["flux_middle::rty::evars::EVid"]],["impl DynSync for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl DynSync for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl DynSync for ExprS",1,["flux_middle::rty::expr::ExprS"]],["impl DynSync for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl DynSync for SpanData",1,["flux_middle::rty::expr::SpanData"]],["impl DynSync for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl DynSync for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl DynSync for KVar",1,["flux_middle::rty::expr::KVar"]],["impl DynSync for Var",1,["flux_middle::rty::expr::Var"]],["impl DynSync for Path",1,["flux_middle::rty::expr::Path"]],["impl DynSync for Loc",1,["flux_middle::rty::expr::Loc"]],["impl DynSync for KVid",1,["flux_middle::rty::expr::KVid"]],["impl DynSync for Name",1,["flux_middle::rty::expr::Name"]],["impl DynSync for Defns",1,["flux_middle::rty::normalize::Defns"]],["impl<'a> DynSync for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl DynSync for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl<'sess, 'tcx, 'cx> !DynSync for Normalizer<'sess, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl DynSync for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl DynSync for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl<'a, 'tcx> !DynSync for Refiner<'a, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl DynSync for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl<D> DynSync for BoundVarReplacer<D>where\n    D: DynSync,",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<F1, F2> DynSync for FnMutDelegate<F1, F2>where\n    F1: DynSync,\n    F2: DynSync,",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<'a> DynSync for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a> DynSync for GenericsSubstFolder<'a>",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl DynSync for Generics",1,["flux_middle::rty::Generics"]],["impl DynSync for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl DynSync for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl DynSync for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl DynSync for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl DynSync for Clause",1,["flux_middle::rty::Clause"]],["impl DynSync for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl DynSync for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl DynSync for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl DynSync for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl DynSync for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl DynSync for GeneratorObligPredicate",1,["flux_middle::rty::GeneratorObligPredicate"]],["impl DynSync for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl DynSync for SortVar",1,["flux_middle::rty::SortVar"]],["impl DynSync for Sort",1,["flux_middle::rty::Sort"]],["impl DynSync for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl DynSync for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl DynSync for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl DynSync for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl<T> DynSync for Opaqueness<T>where\n    T: DynSync,",1,["flux_middle::rty::Opaqueness"]],["impl DynSync for Invariant",1,["flux_middle::rty::Invariant"]],["impl DynSync for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl DynSync for BoundVariableKind",1,["flux_middle::rty::BoundVariableKind"]],["impl<T> DynSync for Binder<T>where\n    T: DynSync,",1,["flux_middle::rty::Binder"]],["impl<T> DynSync for EarlyBinder<T>where\n    T: DynSync,",1,["flux_middle::rty::EarlyBinder"]],["impl<T> DynSync for TupleTree<T>where\n    T: DynSend + DynSync,",1,["flux_middle::rty::TupleTree"]],["impl DynSync for FnSig",1,["flux_middle::rty::FnSig"]],["impl DynSync for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl DynSync for Constraint",1,["flux_middle::rty::Constraint"]],["impl DynSync for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl DynSync for Defn",1,["flux_middle::rty::Defn"]],["impl DynSync for FuncDecl",1,["flux_middle::rty::FuncDecl"]],["impl DynSync for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl DynSync for TyS",1,["flux_middle::rty::TyS"]],["impl DynSync for TyKind",1,["flux_middle::rty::TyKind"]],["impl DynSync for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl DynSync for Index",1,["flux_middle::rty::Index"]],["impl DynSync for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl DynSync for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl DynSync for AliasKind",1,["flux_middle::rty::AliasKind"]],["impl DynSync for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl DynSync for GeneratorArgs",1,["flux_middle::rty::GeneratorArgs"]],["impl<'tcx> !DynSync for Body<'tcx>",1,["flux_middle::rustc::mir::Body"]],["impl<'tcx> DynSync for BasicBlockData<'tcx>",1,["flux_middle::rustc::mir::BasicBlockData"]],["impl DynSync for LocalDecl",1,["flux_middle::rustc::mir::LocalDecl"]],["impl<'tcx> DynSync for Terminator<'tcx>",1,["flux_middle::rustc::mir::Terminator"]],["impl<'tcx> DynSync for CallArgs<'tcx>",1,["flux_middle::rustc::mir::CallArgs"]],["impl DynSync for Instance",1,["flux_middle::rustc::mir::Instance"]],["impl<'tcx> DynSync for TerminatorKind<'tcx>",1,["flux_middle::rustc::mir::TerminatorKind"]],["impl DynSync for AssertKind",1,["flux_middle::rustc::mir::AssertKind"]],["impl DynSync for Statement",1,["flux_middle::rustc::mir::Statement"]],["impl DynSync for StatementKind",1,["flux_middle::rustc::mir::StatementKind"]],["impl DynSync for Rvalue",1,["flux_middle::rustc::mir::Rvalue"]],["impl DynSync for BorrowKind",1,["flux_middle::rustc::mir::BorrowKind"]],["impl DynSync for CastKind",1,["flux_middle::rustc::mir::CastKind"]],["impl DynSync for PointerCast",1,["flux_middle::rustc::mir::PointerCast"]],["impl DynSync for AggregateKind",1,["flux_middle::rustc::mir::AggregateKind"]],["impl DynSync for BinOp",1,["flux_middle::rustc::mir::BinOp"]],["impl DynSync for Operand",1,["flux_middle::rustc::mir::Operand"]],["impl DynSync for Place",1,["flux_middle::rustc::mir::Place"]],["impl DynSync for PlaceTy",1,["flux_middle::rustc::mir::PlaceTy"]],["impl DynSync for PlaceElem",1,["flux_middle::rustc::mir::PlaceElem"]],["impl DynSync for Constant",1,["flux_middle::rustc::mir::Constant"]],["impl DynSync for FakeReadCause",1,["flux_middle::rustc::mir::FakeReadCause"]],["impl<'tcx> DynSync for Generics<'tcx>",1,["flux_middle::rustc::ty::Generics"]],["impl<T> DynSync for EarlyBinder<T>where\n    T: DynSync,",1,["flux_middle::rustc::ty::EarlyBinder"]],["impl<T> DynSync for Binder<T>where\n    T: DynSync,",1,["flux_middle::rustc::ty::Binder"]],["impl DynSync for BoundVariableKind",1,["flux_middle::rustc::ty::BoundVariableKind"]],["impl DynSync for GenericParamDef",1,["flux_middle::rustc::ty::GenericParamDef"]],["impl DynSync for GenericParamDefKind",1,["flux_middle::rustc::ty::GenericParamDefKind"]],["impl DynSync for GenericPredicates",1,["flux_middle::rustc::ty::GenericPredicates"]],["impl DynSync for Clause",1,["flux_middle::rustc::ty::Clause"]],["impl DynSync for ClauseKind",1,["flux_middle::rustc::ty::ClauseKind"]],["impl DynSync for TraitPredicate",1,["flux_middle::rustc::ty::TraitPredicate"]],["impl DynSync for TraitRef",1,["flux_middle::rustc::ty::TraitRef"]],["impl DynSync for ProjectionPredicate",1,["flux_middle::rustc::ty::ProjectionPredicate"]],["impl DynSync for FnSig",1,["flux_middle::rustc::ty::FnSig"]],["impl DynSync for Ty",1,["flux_middle::rustc::ty::Ty"]],["impl DynSync for AdtDef",1,["flux_middle::rustc::ty::AdtDef"]],["impl DynSync for AdtDefData",1,["flux_middle::rustc::ty::AdtDefData"]],["impl DynSync for VariantDef",1,["flux_middle::rustc::ty::VariantDef"]],["impl DynSync for FieldDef",1,["flux_middle::rustc::ty::FieldDef"]],["impl DynSync for TyS",1,["flux_middle::rustc::ty::TyS"]],["impl DynSync for TyKind",1,["flux_middle::rustc::ty::TyKind"]],["impl DynSync for AliasTy",1,["flux_middle::rustc::ty::AliasTy"]],["impl DynSync for AliasKind",1,["flux_middle::rustc::ty::AliasKind"]],["impl DynSync for ValueConst",1,["flux_middle::rustc::ty::ValueConst"]],["impl DynSync for Const",1,["flux_middle::rustc::ty::Const"]],["impl DynSync for GenericArg",1,["flux_middle::rustc::ty::GenericArg"]],["impl DynSync for GeneratorArgs",1,["flux_middle::rustc::ty::GeneratorArgs"]],["impl DynSync for ClosureArgs",1,["flux_middle::rustc::ty::ClosureArgs"]],["impl<'a, T> DynSync for ClosureArgsParts<'a, T>where\n    T: DynSync,",1,["flux_middle::rustc::ty::ClosureArgsParts"]],["impl<'a, T> DynSync for GeneratorArgsParts<'a, T>where\n    T: DynSync,",1,["flux_middle::rustc::ty::GeneratorArgsParts"]],["impl DynSync for Region",1,["flux_middle::rustc::ty::Region"]],["impl DynSync for FreeRegion",1,["flux_middle::rustc::ty::FreeRegion"]],["impl DynSync for BoundRegion",1,["flux_middle::rustc::ty::BoundRegion"]],["impl<'tcx> DynSync for UnsupportedLocalDecl<'tcx>",1,["flux_middle::rustc::lowering::errors::UnsupportedLocalDecl"]],["impl DynSync for UnsupportedMir",1,["flux_middle::rustc::lowering::errors::UnsupportedMir"]],["impl DynSync for UnsupportedGenericBound",1,["flux_middle::rustc::lowering::errors::UnsupportedGenericBound"]],["impl<'a, 'sess, 'tcx> !DynSync for LoweringCtxt<'a, 'sess, 'tcx>",1,["flux_middle::rustc::lowering::LoweringCtxt"]],["impl DynSync for UnsupportedReason",1,["flux_middle::rustc::lowering::UnsupportedReason"]]],
    -"flux_refineck":[["impl DynSync for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl DynSync for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl DynSync for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !DynSync for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl DynSync for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl DynSync for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl DynSync for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl DynSync for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !DynSync for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !DynSync for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !DynSync for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl DynSync for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl DynSync for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl DynSync for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl DynSync for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl DynSync for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl DynSync for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl DynSync for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !DynSync for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl DynSync for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl<'a> DynSync for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl DynSync for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl DynSync for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !DynSync for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl DynSync for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> DynSync for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl DynSync for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl DynSync for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl DynSync for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> DynSync for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> DynSync for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl DynSync for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl DynSync for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> DynSync for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl DynSync for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl DynSync for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl DynSync for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl DynSync for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl DynSync for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl DynSync for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl DynSync for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl DynSync for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> DynSync for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl DynSync for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> DynSync for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> DynSync for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !DynSync for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !DynSync for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !DynSync for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !DynSync for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl DynSync for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !DynSync for Node",1,["flux_refineck::refine_tree::Node"]],["impl !DynSync for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !DynSync for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl DynSync for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !DynSync for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl DynSync for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !DynSync for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !DynSync for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !DynSync for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> DynSync for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !DynSync for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl DynSync for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl DynSync for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl DynSync for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> DynSync for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !DynSync for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl DynSync for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !DynSync for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> DynSync for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl DynSync for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> DynSync for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl DynSync for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl DynSync for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl DynSync for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl DynSync for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl DynSync for GotoError",1,["flux_refineck::errors::GotoError"]],["impl DynSync for AssignError",1,["flux_refineck::errors::AssignError"]],["impl DynSync for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl DynSync for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl DynSync for RefineError",1,["flux_refineck::errors::RefineError"]],["impl DynSync for DivError",1,["flux_refineck::errors::DivError"]],["impl DynSync for RemError",1,["flux_refineck::errors::RemError"]],["impl DynSync for AssertError",1,["flux_refineck::errors::AssertError"]],["impl DynSync for FoldError",1,["flux_refineck::errors::FoldError"]],["impl DynSync for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl DynSync for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
    +"flux_refineck":[["impl DynSync for CheckerError",1,["flux_refineck::checker::errors::CheckerError"]],["impl DynSync for CheckerErrKind",1,["flux_refineck::checker::errors::CheckerErrKind"]],["impl DynSync for CheckerConfig",1,["flux_refineck::checker::CheckerConfig"]],["impl<'ck, 'tcx, M> !DynSync for Checker<'ck, 'tcx, M>",1,["flux_refineck::checker::Checker"]],["impl DynSync for ShapeMode",1,["flux_refineck::checker::ShapeMode"]],["impl DynSync for RefineMode",1,["flux_refineck::checker::RefineMode"]],["impl DynSync for ShapeResult",1,["flux_refineck::checker::ShapeResult"]],["impl DynSync for Guard",1,["flux_refineck::checker::Guard"]],["impl<'a, 'tcx> !DynSync for ConstrGen<'a, 'tcx>",1,["flux_refineck::constraint_gen::ConstrGen"]],["impl !DynSync for Obligations",1,["flux_refineck::constraint_gen::Obligations"]],["impl<'a, 'tcx> !DynSync for InferCtxt<'a, 'tcx>",1,["flux_refineck::constraint_gen::InferCtxt"]],["impl DynSync for Tag",1,["flux_refineck::constraint_gen::Tag"]],["impl DynSync for ConstrReason",1,["flux_refineck::constraint_gen::ConstrReason"]],["impl DynSync for FixpointTypes",1,["flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl DynSync for KVid",1,["flux_refineck::fixpoint_encoding::fixpoint::KVid"]],["impl DynSync for LocalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::LocalVar"]],["impl DynSync for GlobalVar",1,["flux_refineck::fixpoint_encoding::fixpoint::GlobalVar"]],["impl DynSync for Var",1,["flux_refineck::fixpoint_encoding::fixpoint::Var"]],["impl DynSync for TagIdx",1,["flux_refineck::fixpoint_encoding::TagIdx"]],["impl DynSync for KVarStore",1,["flux_refineck::fixpoint_encoding::KVarStore"]],["impl DynSync for KVarDecl",1,["flux_refineck::fixpoint_encoding::KVarDecl"]],["impl DynSync for KVarEncoding",1,["flux_refineck::fixpoint_encoding::KVarEncoding"]],["impl DynSync for Key",1,["flux_refineck::fixpoint_encoding::Key"]],["impl<'genv, 'tcx, T> !DynSync for FixpointCtxt<'genv, 'tcx, T>",1,["flux_refineck::fixpoint_encoding::FixpointCtxt"]],["impl DynSync for FixpointKVar",1,["flux_refineck::fixpoint_encoding::FixpointKVar"]],["impl DynSync for Env",1,["flux_refineck::fixpoint_encoding::Env"]],["impl<'a> DynSync for ExprCtxt<'a>",1,["flux_refineck::fixpoint_encoding::ExprCtxt"]],["impl DynSync for ConstInfo",1,["flux_refineck::fixpoint_encoding::ConstInfo"]],["impl DynSync for Env",1,["flux_refineck::ghost_statements::fold_unfold::Env"]],["impl<'a, 'tcx, M> !DynSync for FoldUnfoldAnalysis<'a, 'tcx, M>",1,["flux_refineck::ghost_statements::fold_unfold::FoldUnfoldAnalysis"]],["impl DynSync for Infer",1,["flux_refineck::ghost_statements::fold_unfold::Infer"]],["impl<'a> DynSync for Elaboration<'a>",1,["flux_refineck::ghost_statements::fold_unfold::Elaboration"]],["impl DynSync for ProjResult",1,["flux_refineck::ghost_statements::fold_unfold::ProjResult"]],["impl DynSync for ProjKind",1,["flux_refineck::ghost_statements::fold_unfold::ProjKind"]],["impl DynSync for PlaceNode",1,["flux_refineck::ghost_statements::fold_unfold::PlaceNode"]],["impl<'a> DynSync for PointsToAnalysis<'a>",1,["flux_refineck::ghost_statements::points_to::PointsToAnalysis"]],["impl<'a> DynSync for CollectPointerToBorrows<'a>",1,["flux_refineck::ghost_statements::points_to::CollectPointerToBorrows"]],["impl DynSync for Map",1,["flux_refineck::ghost_statements::points_to::Map"]],["impl DynSync for PlaceInfo",1,["flux_refineck::ghost_statements::points_to::PlaceInfo"]],["impl<'a> DynSync for Children<'a>",1,["flux_refineck::ghost_statements::points_to::Children"]],["impl DynSync for PlaceIndex",1,["flux_refineck::ghost_statements::points_to::PlaceIndex"]],["impl DynSync for ValueIndex",1,["flux_refineck::ghost_statements::points_to::ValueIndex"]],["impl DynSync for PlaceOrValue",1,["flux_refineck::ghost_statements::points_to::PlaceOrValue"]],["impl DynSync for StateData",1,["flux_refineck::ghost_statements::points_to::StateData"]],["impl DynSync for State",1,["flux_refineck::ghost_statements::points_to::State"]],["impl DynSync for GhostStatements",1,["flux_refineck::ghost_statements::GhostStatements"]],["impl DynSync for GhostStatement",1,["flux_refineck::ghost_statements::GhostStatement"]],["impl DynSync for Point",1,["flux_refineck::ghost_statements::Point"]],["impl<'a> DynSync for StatementsAt<'a>",1,["flux_refineck::ghost_statements::StatementsAt"]],["impl DynSync for Invalid",1,["flux_refineck::invariants::errors::Invalid"]],["impl<'a> DynSync for Item<'a>",1,["flux_refineck::queue::Item"]],["impl<'a> DynSync for WorkQueue<'a>",1,["flux_refineck::queue::WorkQueue"]],["impl !DynSync for RefineTree",1,["flux_refineck::refine_tree::RefineTree"]],["impl<'a> !DynSync for RefineSubtree<'a>",1,["flux_refineck::refine_tree::RefineSubtree"]],["impl<'a> !DynSync for RefineCtxt<'a>",1,["flux_refineck::refine_tree::RefineCtxt"]],["impl !DynSync for Snapshot",1,["flux_refineck::refine_tree::Snapshot"]],["impl DynSync for Scope",1,["flux_refineck::refine_tree::Scope"]],["impl !DynSync for Node",1,["flux_refineck::refine_tree::Node"]],["impl !DynSync for NodePtr",1,["flux_refineck::refine_tree::NodePtr"]],["impl !DynSync for WeakNodePtr",1,["flux_refineck::refine_tree::WeakNodePtr"]],["impl DynSync for NodeKind",1,["flux_refineck::refine_tree::NodeKind"]],["impl<'a, 'rcx> !DynSync for Unpacker<'a, 'rcx>",1,["flux_refineck::refine_tree::Unpacker"]],["impl DynSync for AssumeInvariants",1,["flux_refineck::refine_tree::AssumeInvariants"]],["impl !DynSync for ParentsIter",1,["flux_refineck::refine_tree::ParentsIter"]],["impl<const N: usize> !DynSync for Sig<N>",1,["flux_refineck::sigs::Sig"]],["impl<const N: usize> !DynSync for Pre<N>",1,["flux_refineck::sigs::Pre"]],["impl<const N: usize> DynSync for Output<N>",1,["flux_refineck::sigs::Output"]],["impl<T, const N: usize> !DynSync for SigTable<T, N>",1,["flux_refineck::sigs::SigTable"]],["impl DynSync for PlacesTree",1,["flux_refineck::type_env::projection::PlacesTree"]],["impl DynSync for Binding",1,["flux_refineck::type_env::projection::Binding"]],["impl DynSync for LocKind",1,["flux_refineck::type_env::projection::LocKind"]],["impl<'a> DynSync for LookupResult<'a>",1,["flux_refineck::type_env::projection::LookupResult"]],["impl<'a, 'rcx, 'tcx> !DynSync for Unfold<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfold"]],["impl DynSync for NoUnfold",1,["flux_refineck::type_env::projection::NoUnfold"]],["impl<'a, 'rcx, 'tcx> !DynSync for Unfolder<'a, 'rcx, 'tcx>",1,["flux_refineck::type_env::projection::Unfolder"]],["impl<'a> DynSync for Updater<'a>",1,["flux_refineck::type_env::projection::Updater"]],["impl DynSync for Cursor",1,["flux_refineck::type_env::projection::Cursor"]],["impl<'a> DynSync for TypeEnv<'a>",1,["flux_refineck::type_env::TypeEnv"]],["impl DynSync for BasicBlockEnvShape",1,["flux_refineck::type_env::BasicBlockEnvShape"]],["impl DynSync for BasicBlockEnv",1,["flux_refineck::type_env::BasicBlockEnv"]],["impl DynSync for BasicBlockEnvData",1,["flux_refineck::type_env::BasicBlockEnvData"]],["impl DynSync for Generalizer",1,["flux_refineck::type_env::Generalizer"]],["impl DynSync for GotoError",1,["flux_refineck::errors::GotoError"]],["impl DynSync for AssignError",1,["flux_refineck::errors::AssignError"]],["impl DynSync for ConditionSpanNote",1,["flux_refineck::errors::ConditionSpanNote"]],["impl DynSync for CallSpanNote",1,["flux_refineck::errors::CallSpanNote"]],["impl DynSync for RefineError",1,["flux_refineck::errors::RefineError"]],["impl DynSync for DivError",1,["flux_refineck::errors::DivError"]],["impl DynSync for RemError",1,["flux_refineck::errors::RemError"]],["impl DynSync for AssertError",1,["flux_refineck::errors::AssertError"]],["impl DynSync for FoldError",1,["flux_refineck::errors::FoldError"]],["impl DynSync for OverflowError",1,["flux_refineck::errors::OverflowError"]],["impl DynSync for UnknownError",1,["flux_refineck::errors::UnknownError"]]],
     "flux_syntax":[["impl DynSync for Token",1,["flux_syntax::lexer::Token"]],["impl<'t> !DynSync for Cursor<'t>",1,["flux_syntax::lexer::Cursor"]],["impl DynSync for Symbols",1,["flux_syntax::lexer::Symbols"]],["impl<'t> DynSync for Frame<'t>",1,["flux_syntax::lexer::Frame"]],["impl DynSync for Location",1,["flux_syntax::lexer::Location"]],["impl DynSync for NodeId",1,["flux_syntax::surface::NodeId"]],["impl DynSync for SortDecl",1,["flux_syntax::surface::SortDecl"]],["impl DynSync for Item",1,["flux_syntax::surface::Item"]],["impl DynSync for Qualifier",1,["flux_syntax::surface::Qualifier"]],["impl DynSync for FuncDef",1,["flux_syntax::surface::FuncDef"]],["impl DynSync for Generics",1,["flux_syntax::surface::Generics"]],["impl DynSync for GenericParam",1,["flux_syntax::surface::GenericParam"]],["impl DynSync for GenericParamKind",1,["flux_syntax::surface::GenericParamKind"]],["impl DynSync for TyAlias",1,["flux_syntax::surface::TyAlias"]],["impl DynSync for StructDef",1,["flux_syntax::surface::StructDef"]],["impl DynSync for EnumDef",1,["flux_syntax::surface::EnumDef"]],["impl DynSync for VariantDef",1,["flux_syntax::surface::VariantDef"]],["impl DynSync for VariantRet",1,["flux_syntax::surface::VariantRet"]],["impl DynSync for RefinedBy",1,["flux_syntax::surface::RefinedBy"]],["impl DynSync for QualNames",1,["flux_syntax::surface::QualNames"]],["impl DynSync for RefineParam",1,["flux_syntax::surface::RefineParam"]],["impl DynSync for Sort",1,["flux_syntax::surface::Sort"]],["impl DynSync for BaseSort",1,["flux_syntax::surface::BaseSort"]],["impl DynSync for ConstSig",1,["flux_syntax::surface::ConstSig"]],["impl DynSync for FnSig",1,["flux_syntax::surface::FnSig"]],["impl DynSync for Constraint",1,["flux_syntax::surface::Constraint"]],["impl DynSync for FnRetTy",1,["flux_syntax::surface::FnRetTy"]],["impl DynSync for Async",1,["flux_syntax::surface::Async"]],["impl DynSync for WhereBoundPredicate",1,["flux_syntax::surface::WhereBoundPredicate"]],["impl DynSync for TraitRef",1,["flux_syntax::surface::TraitRef"]],["impl DynSync for Arg",1,["flux_syntax::surface::Arg"]],["impl DynSync for Ty",1,["flux_syntax::surface::Ty"]],["impl DynSync for TyKind",1,["flux_syntax::surface::TyKind"]],["impl DynSync for BaseTy",1,["flux_syntax::surface::BaseTy"]],["impl DynSync for BaseTyKind",1,["flux_syntax::surface::BaseTyKind"]],["impl DynSync for ArrayLen",1,["flux_syntax::surface::ArrayLen"]],["impl DynSync for Indices",1,["flux_syntax::surface::Indices"]],["impl DynSync for RefineArg",1,["flux_syntax::surface::RefineArg"]],["impl DynSync for BindKind",1,["flux_syntax::surface::BindKind"]],["impl DynSync for Path",1,["flux_syntax::surface::Path"]],["impl DynSync for GenericArg",1,["flux_syntax::surface::GenericArg"]],["impl DynSync for Expr",1,["flux_syntax::surface::Expr"]],["impl DynSync for ExprKind",1,["flux_syntax::surface::ExprKind"]],["impl DynSync for QPathExpr",1,["flux_syntax::surface::QPathExpr"]],["impl DynSync for BinOp",1,["flux_syntax::surface::BinOp"]],["impl DynSync for UnOp",1,["flux_syntax::surface::UnOp"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__Expr::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Expr::__StateMachine"]],["impl DynSync for ExprParser",1,["flux_syntax::grammar::__parse__Expr::ExprParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__FnSig::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__FnSig::__StateMachine"]],["impl DynSync for FnSigParser",1,["flux_syntax::grammar::__parse__FnSig::FnSigParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__Generics::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Generics::__StateMachine"]],["impl DynSync for GenericsParser",1,["flux_syntax::grammar::__parse__Generics::GenericsParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__Items::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Items::__StateMachine"]],["impl DynSync for ItemsParser",1,["flux_syntax::grammar::__parse__Items::ItemsParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__QualNames::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__QualNames::__StateMachine"]],["impl DynSync for QualNamesParser",1,["flux_syntax::grammar::__parse__QualNames::QualNamesParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__RefinedBy::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__RefinedBy::__StateMachine"]],["impl DynSync for RefinedByParser",1,["flux_syntax::grammar::__parse__RefinedBy::RefinedByParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__Ty::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Ty::__StateMachine"]],["impl DynSync for TyParser",1,["flux_syntax::grammar::__parse__Ty::TyParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__TyAlias::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__TyAlias::__StateMachine"]],["impl DynSync for TyAliasParser",1,["flux_syntax::grammar::__parse__TyAlias::TyAliasParser"]],["impl DynSync for __Symbol",1,["flux_syntax::grammar::__parse__Variant::__Symbol"]],["impl<'__0, '__1> DynSync for __StateMachine<'__0, '__1>",1,["flux_syntax::grammar::__parse__Variant::__StateMachine"]],["impl DynSync for VariantParser",1,["flux_syntax::grammar::__parse__Variant::VariantParser"]],["impl DynSync for ParseSess",1,["flux_syntax::ParseSess"]],["impl<'a> DynSync for ParseCtxt<'a>",1,["flux_syntax::ParseCtxt"]],["impl DynSync for UserParseError",1,["flux_syntax::UserParseError"]],["impl DynSync for ParseError",1,["flux_syntax::ParseError"]],["impl DynSync for ParseErrorKind",1,["flux_syntax::ParseErrorKind"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_errors/diagnostic/trait.IntoDiagnosticArg.js b/doc/trait.impl/rustc_errors/diagnostic/trait.IntoDiagnosticArg.js
    index 8630e2c91b..b1e67834cd 100644
    --- a/doc/trait.impl/rustc_errors/diagnostic/trait.IntoDiagnosticArg.js
    +++ b/doc/trait.impl/rustc_errors/diagnostic/trait.IntoDiagnosticArg.js
    @@ -1,3 +1,3 @@
     (function() {var implementors = {
    -"flux_middle":[["impl IntoDiagnosticArg for &Path"],["impl IntoDiagnosticArg for Sort"],["impl IntoDiagnosticArg for &Ty"],["impl IntoDiagnosticArg for UnsupportedReason"]]
    +"flux_middle":[["impl IntoDiagnosticArg for &Path"],["impl IntoDiagnosticArg for UnsupportedReason"],["impl IntoDiagnosticArg for &Ty"],["impl IntoDiagnosticArg for Sort"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_errors/diagnostic_builder/trait.IntoDiagnostic.js b/doc/trait.impl/rustc_errors/diagnostic_builder/trait.IntoDiagnostic.js
    index a7e6588c29..afa74725c4 100644
    --- a/doc/trait.impl/rustc_errors/diagnostic_builder/trait.IntoDiagnostic.js
    +++ b/doc/trait.impl/rustc_errors/diagnostic_builder/trait.IntoDiagnostic.js
    @@ -1,8 +1,8 @@
     (function() {var implementors = {
    -"flux_desugar":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidUnrefinedParamwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedSignature<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SortArityMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidNumericSuffixwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedSortwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DuplicateParamwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedGenericParamwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RefinedUnrefinableTypewhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedPathwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RefineArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for IllegalBinderwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidDotVarwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedVarwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for IntTooLargewhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnexpectedLiteralwhere\n    G: EmissionGuarantee,"]],
    -"flux_driver":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SyntaxErrwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MalformedExternSpecwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidConstantwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidAttrwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MissingFnSigForExternSpecwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DuplicatedAttrwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AttrOnOpaquewhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MissingVariantwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for CFGErrorwhere\n    G: EmissionGuarantee,"]],
    -"flux_fhir_analysis":[["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ExpectedNumeric<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DuplicatedEnsureswhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ParamCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidPrimitiveDotAccess<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for EarlyBoundArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnexpectedFun<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for GenericArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ParamNotDeterminedwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidRefinementwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SortMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidBaseInstance<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnknownQualifierwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DefinitionCyclewhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FieldNotFoundwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SortAnnotationNeededwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FunArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ArrayLenMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FieldCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for CannotInferSortwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for NoEquality<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AssocTypeNotFoundwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidParamPos<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ExpectedFun<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MissingEnsureswhere\n    G: EmissionGuarantee,"]],
    +"flux_desugar":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedPathwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for IntTooLargewhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedSortwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnexpectedLiteralwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidDotVarwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedGenericParamwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RefineArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DuplicateParamwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SortArityMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidNumericSuffixwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for IllegalBinderwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnresolvedVarwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedSignature<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidUnrefinedParamwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RefinedUnrefinableTypewhere\n    G: EmissionGuarantee,"]],
    +"flux_driver":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MissingVariantwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MissingFnSigForExternSpecwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidAttrwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DuplicatedAttrwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SyntaxErrwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidConstantwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MalformedExternSpecwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for CFGErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AttrOnOpaquewhere\n    G: EmissionGuarantee,"]],
    +"flux_fhir_analysis":[["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ExpectedFun<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidRefinementwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidPrimitiveDotAccess<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for NoEquality<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for EarlyBoundArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AssocTypeNotFoundwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for MissingEnsureswhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ExpectedNumeric<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SortAnnotationNeededwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for SortMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FunArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DefinitionCyclewhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FieldNotFoundwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ArrayLenMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnknownQualifierwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for GenericArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidParamPos<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FieldCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for CannotInferSortwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnexpectedFun<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for InvalidBaseInstance<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ParamCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DuplicatedEnsureswhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ArgCountMismatchwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for ParamNotDeterminedwhere\n    G: EmissionGuarantee,"]],
     "flux_metadata":[["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DecodeFileError<'a>where\n    G: EmissionGuarantee,"]],
    -"flux_middle":[["impl<'__diagnostic_handler_sess, 'tcx, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedLocalDecl<'tcx>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedGenericBoundwhere\n    G: EmissionGuarantee,"],["impl<'a> IntoDiagnostic<'a> for QueryErr"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedMirwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedHir<'a>where\n    G: EmissionGuarantee,"]],
    -"flux_refineck":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RemErrorwhere\n    G: EmissionGuarantee,"],["impl<'a> IntoDiagnostic<'a> for CheckerError"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnknownErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for Invalidwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DivErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FoldErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for GotoErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RefineErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AssignErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AssertErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for OverflowErrorwhere\n    G: EmissionGuarantee,"]]
    +"flux_middle":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedGenericBoundwhere\n    G: EmissionGuarantee,"],["impl<'a> IntoDiagnostic<'a> for QueryErr"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedMirwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'a, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedHir<'a>where\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, 'tcx, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnsupportedLocalDecl<'tcx>where\n    G: EmissionGuarantee,"]],
    +"flux_refineck":[["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for Invalidwhere\n    G: EmissionGuarantee,"],["impl<'a> IntoDiagnostic<'a> for CheckerError"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RemErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for DivErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for RefineErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for UnknownErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for FoldErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for OverflowErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AssignErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for AssertErrorwhere\n    G: EmissionGuarantee,"],["impl<'__diagnostic_handler_sess, G> IntoDiagnostic<'__diagnostic_handler_sess, G> for GotoErrorwhere\n    G: EmissionGuarantee,"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_index/idx/trait.Idx.js b/doc/trait.impl/rustc_index/idx/trait.Idx.js
    index 9a3393a873..f262733db3 100644
    --- a/doc/trait.impl/rustc_index/idx/trait.Idx.js
    +++ b/doc/trait.impl/rustc_index/idx/trait.Idx.js
    @@ -1,5 +1,4 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl Idx for KVid"],["impl Idx for Name"],["impl Idx for ConstName"]],
    -"flux_middle":[["impl Idx for SortVid"],["impl Idx for ItemLocalId"],["impl Idx for Name"],["impl Idx for Name"],["impl Idx for KVid"],["impl Idx for EVid"]],
    -"flux_refineck":[["impl Idx for TagIdx"],["impl Idx for ValueIndex"],["impl Idx for PlaceIndex"]]
    +"flux_middle":[["impl Idx for Name"],["impl Idx for SortVid"],["impl Idx for EVid"],["impl Idx for ItemLocalId"],["impl Idx for Name"],["impl Idx for KVid"]],
    +"flux_refineck":[["impl Idx for GlobalVar"],["impl Idx for TagIdx"],["impl Idx for LocalVar"],["impl Idx for PlaceIndex"],["impl Idx for KVid"],["impl Idx for ValueIndex"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_serialize/serialize/trait.Decodable.js b/doc/trait.impl/rustc_serialize/serialize/trait.Decodable.js
    index 9218899b12..0fa8933212 100644
    --- a/doc/trait.impl/rustc_serialize/serialize/trait.Decodable.js
    +++ b/doc/trait.impl/rustc_serialize/serialize/trait.Decodable.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl<D: Decoder> Decodable<D> for ConstName"],["impl<__D: Decoder> Decodable<__D> for UnOp"],["impl<D: Decoder> Decodable<D> for Name"],["impl<__D: Decoder> Decodable<__D> for Sign"],["impl<D: Decoder> Decodable<D> for KVid"],["impl<__D: Decoder> Decodable<__D> for BigInt"],["impl<__D: Decoder> Decodable<__D> for Constant"],["impl<__D: Decoder> Decodable<__D> for BinOp"]],
    -"flux_metadata":[["impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for DefIndex"],["impl<__D: TyDecoder> Decodable<__D> for AdtMetadata"],["impl<__D: TyDecoder> Decodable<__D> for CrateMetadata"],["impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for CrateNum"]],
    -"flux_middle":[["impl<__D: TyDecoder> Decodable<__D> for AdtDefData"],["impl<__D: Decoder> Decodable<__D> for Var"],["impl<__D: TyDecoder> Decodable<__D> for Index"],["impl<__D: Decoder> Decodable<__D> for Path"],["impl<__D: TyDecoder> Decodable<__D> for SortCtor"],["impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort"],["impl<__D: Decoder> Decodable<__D> for EVar"],["impl<__D: TyDecoder> Decodable<__D> for ExprS"],["impl<__D: TyDecoder> Decodable<__D> for BoundVariableKind"],["impl<__D: Decoder> Decodable<__D> for ValueConst"],["impl<__D: TyDecoder> Decodable<__D> for Region"],["impl<__D: TyDecoder> Decodable<__D> for ExprKind"],["impl<__D: TyDecoder> Decodable<__D> for FieldDef"],["impl<__D: TyDecoder> Decodable<__D> for FuncKind"],["impl<__D: TyDecoder> Decodable<__D> for GenericArg"],["impl<__D: TyDecoder> Decodable<__D> for BoundRegion"],["impl<__D: TyDecoder> Decodable<__D> for FnSig"],["impl<__D: TyDecoder> Decodable<__D> for KVar"],["impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>where\n    T: Decodable<__D>,"],["impl<__D: TyDecoder> Decodable<__D> for AliasKind"],["impl<__D: TyDecoder> Decodable<__D> for AdtDefData"],["impl<__D: TyDecoder> Decodable<__D> for BaseTy"],["impl<__D: TyDecoder> Decodable<__D> for ESpan"],["impl<__D: TyDecoder> Decodable<__D> for VariantSig"],["impl<__D: TyDecoder> Decodable<__D> for Const"],["impl<__D: TyDecoder> Decodable<__D> for FuncSort"],["impl<__D: TyDecoder> Decodable<__D> for PtrKind"],["impl<__D: Decoder> Decodable<__D> for InferMode"],["impl<__D: Decoder> Decodable<__D> for EVarCxId"],["impl<__D: TyDecoder> Decodable<__D> for SortVar"],["impl<__D: TyDecoder> Decodable<__D> for Sort"],["impl<D: Decoder> Decodable<D> for KVid"],["impl<__D: Decoder> Decodable<__D> for Place"],["impl<__D: TyDecoder> Decodable<__D> for SpanData"],["impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort"],["impl<T, __D: Decoder> Decodable<__D> for TupleTree<T>where\n    [TupleTree<T>]: Internable,\n    T: Decodable<__D>,"],["impl<D, T> Decodable<D> for Interned<T>where\n    D: Decoder,\n    T: Decodable<D> + Internable,"],["impl<__D: TyDecoder> Decodable<__D> for AdtDef"],["impl<__D: TyDecoder> Decodable<__D> for Invariant"],["impl<__D: Decoder> Decodable<__D> for PlaceElem"],["impl<T, __D: TyDecoder> Decodable<__D> for Opaqueness<T>where\n    T: Decodable<__D>,"],["impl<__D: TyDecoder> Decodable<__D> for AliasTy"],["impl<__D: TyDecoder> Decodable<__D> for HoleKind"],["impl<__D: TyDecoder> Decodable<__D> for RefinedBy"],["impl<__D: TyDecoder> Decodable<__D> for TyS"],["impl<D: Decoder> Decodable<D> for Name"],["impl<__D: TyDecoder> Decodable<__D> for FuncSort"],["impl<__D: TyDecoder> Decodable<__D> for Sort"],["impl<__D: TyDecoder> Decodable<__D> for TyKind"],["impl<__D: TyDecoder> Decodable<__D> for FreeRegion"],["impl<__D: TyDecoder> Decodable<__D> for AdtDef"],["impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>where\n    T: Decodable<__D>,"],["impl<__D: TyDecoder> Decodable<__D> for FnOutput"],["impl<D: Decoder> Decodable<D> for ItemLocalId"],["impl<D, T> Decodable<D> for Interned<[T]>where\n    D: Decoder,\n    T: Decodable<D>,\n    [T]: Internable,"],["impl<__D: TyDecoder> Decodable<__D> for BoundVariableKind"],["impl<D: Decoder> Decodable<D> for Name"],["impl<__D: TyDecoder> Decodable<__D> for Constraint"],["impl<D: Decoder> Decodable<D> for SortVid"],["impl<__D: TyDecoder> Decodable<__D> for VariantDef"],["impl<__D: TyDecoder> Decodable<__D> for SortCtor"],["impl<__D: Decoder> Decodable<__D> for Loc"],["impl<D: Decoder> Decodable<D> for EVid"]],
    -"flux_refineck":[["impl<D: Decoder> Decodable<D> for PlaceIndex"],["impl<D: Decoder> Decodable<D> for TagIdx"],["impl<D: Decoder> Decodable<D> for ValueIndex"]]
    +"flux_fixpoint":[["impl<__D: Decoder> Decodable<__D> for UnOp"],["impl<__D: Decoder> Decodable<__D> for Constant"],["impl<__D: Decoder> Decodable<__D> for Sign"],["impl<__D: Decoder> Decodable<__D> for BigInt"],["impl<__D: Decoder> Decodable<__D> for BinOp"]],
    +"flux_metadata":[["impl<__D: TyDecoder> Decodable<__D> for CrateMetadata"],["impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for CrateNum"],["impl<'a, 'tcx> Decodable<DecodeContext<'a, 'tcx>> for DefIndex"],["impl<__D: TyDecoder> Decodable<__D> for AdtMetadata"]],
    +"flux_middle":[["impl<__D: TyDecoder> Decodable<__D> for FreeRegion"],["impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>where\n    T: Decodable<__D>,"],["impl<T, __D: TyDecoder> Decodable<__D> for Opaqueness<T>where\n    T: Decodable<__D>,"],["impl<__D: TyDecoder> Decodable<__D> for Sort"],["impl<__D: TyDecoder> Decodable<__D> for AliasKind"],["impl<__D: Decoder> Decodable<__D> for Loc"],["impl<D: Decoder> Decodable<D> for EVid"],["impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>where\n    T: Decodable<__D>,"],["impl<__D: TyDecoder> Decodable<__D> for VariantSig"],["impl<__D: TyDecoder> Decodable<__D> for SortCtor"],["impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort"],["impl<__D: Decoder> Decodable<__D> for Path"],["impl<__D: TyDecoder> Decodable<__D> for VariantDef"],["impl<__D: TyDecoder> Decodable<__D> for RefinedBy"],["impl<__D: Decoder> Decodable<__D> for ValueConst"],["impl<__D: TyDecoder> Decodable<__D> for FuncSort"],["impl<__D: TyDecoder> Decodable<__D> for SortVar"],["impl<__D: TyDecoder> Decodable<__D> for ESpan"],["impl<__D: TyDecoder> Decodable<__D> for AdtDefData"],["impl<__D: TyDecoder> Decodable<__D> for GenericArg"],["impl<__D: TyDecoder> Decodable<__D> for AdtDef"],["impl<__D: TyDecoder> Decodable<__D> for SortCtor"],["impl<__D: TyDecoder> Decodable<__D> for KVar"],["impl<__D: TyDecoder> Decodable<__D> for Sort"],["impl<__D: TyDecoder> Decodable<__D> for TyS"],["impl<__D: Decoder> Decodable<__D> for Place"],["impl<__D: TyDecoder> Decodable<__D> for Const"],["impl<__D: TyDecoder> Decodable<__D> for AliasTy"],["impl<__D: TyDecoder> Decodable<__D> for BoundVariableKind"],["impl<__D: TyDecoder> Decodable<__D> for Invariant"],["impl<__D: Decoder> Decodable<__D> for EVarCxId"],["impl<__D: TyDecoder> Decodable<__D> for Region"],["impl<__D: TyDecoder> Decodable<__D> for HoleKind"],["impl<D: Decoder> Decodable<D> for Name"],["impl<__D: TyDecoder> Decodable<__D> for ExprKind"],["impl<__D: TyDecoder> Decodable<__D> for FuncSort"],["impl<D: Decoder> Decodable<D> for Name"],["impl<__D: Decoder> Decodable<__D> for EVar"],["impl<D, T> Decodable<D> for Interned<T>where\n    D: Decoder,\n    T: Decodable<D> + Internable,"],["impl<__D: TyDecoder> Decodable<__D> for BoundRegion"],["impl<D, T> Decodable<D> for Interned<[T]>where\n    D: Decoder,\n    T: Decodable<D>,\n    [T]: Internable,"],["impl<__D: TyDecoder> Decodable<__D> for BoundVariableKind"],["impl<D: Decoder> Decodable<D> for ItemLocalId"],["impl<D: Decoder> Decodable<D> for KVid"],["impl<__D: TyDecoder> Decodable<__D> for BaseTy"],["impl<__D: Decoder> Decodable<__D> for Var"],["impl<__D: TyDecoder> Decodable<__D> for AdtDef"],["impl<__D: Decoder> Decodable<__D> for InferMode"],["impl<__D: TyDecoder> Decodable<__D> for TyKind"],["impl<__D: Decoder> Decodable<__D> for PlaceElem"],["impl<__D: TyDecoder> Decodable<__D> for FnOutput"],["impl<__D: TyDecoder> Decodable<__D> for AdtDefData"],["impl<__D: TyDecoder> Decodable<__D> for FieldDef"],["impl<T, __D: Decoder> Decodable<__D> for TupleTree<T>where\n    [TupleTree<T>]: Internable,\n    T: Decodable<__D>,"],["impl<__D: TyDecoder> Decodable<__D> for SpanData"],["impl<__D: TyDecoder> Decodable<__D> for PtrKind"],["impl<__D: TyDecoder> Decodable<__D> for FuncKind"],["impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort"],["impl<__D: TyDecoder> Decodable<__D> for Constraint"],["impl<D: Decoder> Decodable<D> for SortVid"],["impl<__D: TyDecoder> Decodable<__D> for FnSig"],["impl<__D: TyDecoder> Decodable<__D> for Index"],["impl<__D: TyDecoder> Decodable<__D> for ExprS"]],
    +"flux_refineck":[["impl<D: Decoder> Decodable<D> for ValueIndex"],["impl<D: Decoder> Decodable<D> for LocalVar"],["impl<D: Decoder> Decodable<D> for PlaceIndex"],["impl<D: Decoder> Decodable<D> for KVid"],["impl<D: Decoder> Decodable<D> for TagIdx"],["impl<D: Decoder> Decodable<D> for GlobalVar"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/rustc_serialize/serialize/trait.Encodable.js b/doc/trait.impl/rustc_serialize/serialize/trait.Encodable.js
    index e316e4a5f3..29d01eb782 100644
    --- a/doc/trait.impl/rustc_serialize/serialize/trait.Encodable.js
    +++ b/doc/trait.impl/rustc_serialize/serialize/trait.Encodable.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"flux_fixpoint":[["impl<__E: Encoder> Encodable<__E> for BigInt"],["impl<__E: Encoder> Encodable<__E> for Sign"],["impl<E: Encoder> Encodable<E> for KVid"],["impl<E: Encoder> Encodable<E> for ConstName"],["impl<E: Encoder> Encodable<E> for Name"],["impl<__E: Encoder> Encodable<__E> for BinOp"],["impl<__E: Encoder> Encodable<__E> for UnOp"],["impl<__E: Encoder> Encodable<__E> for Constant"]],
    -"flux_metadata":[["impl<'tcx> Encodable<EncodeContext<'tcx>> for DefIndex"],["impl<__E: TyEncoder> Encodable<__E> for CrateMetadata"],["impl<__E: TyEncoder> Encodable<__E> for AdtMetadata"],["impl<'tcx> Encodable<EncodeContext<'tcx>> for CrateNum"]],
    -"flux_middle":[["impl<__E: Encoder> Encodable<__E> for Var"],["impl<__E: TyEncoder> Encodable<__E> for AdtDef"],["impl<__E: TyEncoder> Encodable<__E> for FuncSort"],["impl<E: Encoder> Encodable<E> for KVid"],["impl<__E: TyEncoder> Encodable<__E> for Region"],["impl<__E: TyEncoder> Encodable<__E> for AliasTy"],["impl<__E: Encoder> Encodable<__E> for Place"],["impl<__E: TyEncoder> Encodable<__E> for SortCtor"],["impl<__E: TyEncoder> Encodable<__E> for FuncKind"],["impl<__E: TyEncoder> Encodable<__E> for TyKind"],["impl<__E: TyEncoder> Encodable<__E> for ExprKind"],["impl<__E: TyEncoder> Encodable<__E> for BoundRegion"],["impl<__E: TyEncoder> Encodable<__E> for FnOutput"],["impl<E: Encoder> Encodable<E> for ItemLocalId"],["impl<__E: TyEncoder> Encodable<__E> for Sort"],["impl<__E: TyEncoder> Encodable<__E> for GenericArg"],["impl<__E: TyEncoder> Encodable<__E> for Constraint"],["impl<T, __E: TyEncoder> Encodable<__E> for EarlyBinder<T>where\n    T: Encodable<__E>,"],["impl<E: Encoder> Encodable<E> for Name"],["impl<__E: TyEncoder> Encodable<__E> for AdtDef"],["impl<__E: Encoder> Encodable<__E> for InferMode"],["impl<__E: TyEncoder> Encodable<__E> for ExprS"],["impl<__E: TyEncoder> Encodable<__E> for Sort"],["impl<__E: Encoder> Encodable<__E> for Loc"],["impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort"],["impl<__E: TyEncoder> Encodable<__E> for BoundVariableKind"],["impl<__E: TyEncoder> Encodable<__E> for SortVar"],["impl<__E: TyEncoder> Encodable<__E> for ESpan"],["impl<__E: TyEncoder> Encodable<__E> for AdtDefData"],["impl<__E: TyEncoder> Encodable<__E> for Invariant"],["impl<E: Encoder> Encodable<E> for EVid"],["impl<__E: Encoder> Encodable<__E> for Path"],["impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>where\n    T: Encodable<__E>,"],["impl<__E: TyEncoder> Encodable<__E> for VariantDef"],["impl<__E: Encoder> Encodable<__E> for PlaceElem"],["impl<E: Encoder> Encodable<E> for SortVid"],["impl<__E: TyEncoder> Encodable<__E> for FuncSort"],["impl<__E: TyEncoder> Encodable<__E> for TyS"],["impl<E, T> Encodable<E> for Interned<[T]>where\n    E: Encoder,\n    T: Encodable<E>,\n    [T]: Internable,"],["impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort"],["impl<__E: TyEncoder> Encodable<__E> for FreeRegion"],["impl<__E: TyEncoder> Encodable<__E> for BoundVariableKind"],["impl<__E: TyEncoder> Encodable<__E> for SpanData"],["impl<__E: Encoder> Encodable<__E> for EVarCxId"],["impl<__E: TyEncoder> Encodable<__E> for AliasKind"],["impl<T, __E: Encoder> Encodable<__E> for TupleTree<T>where\n    [TupleTree<T>]: Internable,\n    T: Encodable<__E>,"],["impl<__E: TyEncoder> Encodable<__E> for AdtDefData"],["impl<__E: TyEncoder> Encodable<__E> for Const"],["impl<E, T> Encodable<E> for Interned<T>where\n    E: Encoder,\n    T: Encodable<E> + Internable,"],["impl<__E: TyEncoder> Encodable<__E> for BaseTy"],["impl<__E: TyEncoder> Encodable<__E> for KVar"],["impl<__E: TyEncoder> Encodable<__E> for FieldDef"],["impl<T, __E: TyEncoder> Encodable<__E> for Opaqueness<T>where\n    T: Encodable<__E>,"],["impl<__E: Encoder> Encodable<__E> for EVar"],["impl<__E: TyEncoder> Encodable<__E> for HoleKind"],["impl<__E: Encoder> Encodable<__E> for ValueConst"],["impl<__E: TyEncoder> Encodable<__E> for Index"],["impl<E: Encoder> Encodable<E> for Name"],["impl<__E: TyEncoder> Encodable<__E> for FnSig"],["impl<__E: TyEncoder> Encodable<__E> for SortCtor"],["impl<__E: TyEncoder> Encodable<__E> for VariantSig"],["impl<__E: TyEncoder> Encodable<__E> for RefinedBy"],["impl<__E: TyEncoder> Encodable<__E> for PtrKind"]],
    -"flux_refineck":[["impl<E: Encoder> Encodable<E> for PlaceIndex"],["impl<E: Encoder> Encodable<E> for TagIdx"],["impl<E: Encoder> Encodable<E> for ValueIndex"]]
    +"flux_fixpoint":[["impl<__E: Encoder> Encodable<__E> for Constant"],["impl<__E: Encoder> Encodable<__E> for BigInt"],["impl<__E: Encoder> Encodable<__E> for Sign"],["impl<__E: Encoder> Encodable<__E> for UnOp"],["impl<__E: Encoder> Encodable<__E> for BinOp"]],
    +"flux_metadata":[["impl<'tcx> Encodable<EncodeContext<'tcx>> for CrateNum"],["impl<__E: TyEncoder> Encodable<__E> for CrateMetadata"],["impl<'tcx> Encodable<EncodeContext<'tcx>> for DefIndex"],["impl<__E: TyEncoder> Encodable<__E> for AdtMetadata"]],
    +"flux_middle":[["impl<__E: TyEncoder> Encodable<__E> for ExprKind"],["impl<__E: TyEncoder> Encodable<__E> for GenericArg"],["impl<__E: TyEncoder> Encodable<__E> for ExprS"],["impl<__E: TyEncoder> Encodable<__E> for Index"],["impl<T, __E: TyEncoder> Encodable<__E> for EarlyBinder<T>where\n    T: Encodable<__E>,"],["impl<__E: TyEncoder> Encodable<__E> for AdtDef"],["impl<__E: TyEncoder> Encodable<__E> for AdtDef"],["impl<__E: TyEncoder> Encodable<__E> for Invariant"],["impl<__E: Encoder> Encodable<__E> for Place"],["impl<__E: Encoder> Encodable<__E> for EVar"],["impl<__E: TyEncoder> Encodable<__E> for FuncKind"],["impl<__E: TyEncoder> Encodable<__E> for ESpan"],["impl<E: Encoder> Encodable<E> for SortVid"],["impl<__E: TyEncoder> Encodable<__E> for AliasTy"],["impl<__E: TyEncoder> Encodable<__E> for FnSig"],["impl<__E: TyEncoder> Encodable<__E> for SpanData"],["impl<__E: Encoder> Encodable<__E> for Path"],["impl<__E: TyEncoder> Encodable<__E> for Const"],["impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>where\n    T: Encodable<__E>,"],["impl<__E: TyEncoder> Encodable<__E> for AliasKind"],["impl<__E: TyEncoder> Encodable<__E> for FreeRegion"],["impl<E: Encoder> Encodable<E> for EVid"],["impl<E: Encoder> Encodable<E> for Name"],["impl<T, __E: Encoder> Encodable<__E> for TupleTree<T>where\n    [TupleTree<T>]: Internable,\n    T: Encodable<__E>,"],["impl<__E: TyEncoder> Encodable<__E> for BoundRegion"],["impl<__E: TyEncoder> Encodable<__E> for PtrKind"],["impl<__E: TyEncoder> Encodable<__E> for FieldDef"],["impl<__E: TyEncoder> Encodable<__E> for SortVar"],["impl<__E: TyEncoder> Encodable<__E> for Sort"],["impl<__E: Encoder> Encodable<__E> for InferMode"],["impl<__E: Encoder> Encodable<__E> for Loc"],["impl<__E: TyEncoder> Encodable<__E> for Region"],["impl<__E: TyEncoder> Encodable<__E> for VariantDef"],["impl<__E: TyEncoder> Encodable<__E> for FnOutput"],["impl<E: Encoder> Encodable<E> for ItemLocalId"],["impl<__E: Encoder> Encodable<__E> for EVarCxId"],["impl<__E: Encoder> Encodable<__E> for Var"],["impl<__E: Encoder> Encodable<__E> for PlaceElem"],["impl<__E: TyEncoder> Encodable<__E> for TyKind"],["impl<__E: TyEncoder> Encodable<__E> for VariantSig"],["impl<E: Encoder> Encodable<E> for Name"],["impl<__E: TyEncoder> Encodable<__E> for SortCtor"],["impl<__E: TyEncoder> Encodable<__E> for AdtDefData"],["impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort"],["impl<__E: TyEncoder> Encodable<__E> for SortCtor"],["impl<__E: TyEncoder> Encodable<__E> for BoundVariableKind"],["impl<E, T> Encodable<E> for Interned<T>where\n    E: Encoder,\n    T: Encodable<E> + Internable,"],["impl<__E: TyEncoder> Encodable<__E> for HoleKind"],["impl<__E: TyEncoder> Encodable<__E> for AdtDefData"],["impl<E, T> Encodable<E> for Interned<[T]>where\n    E: Encoder,\n    T: Encodable<E>,\n    [T]: Internable,"],["impl<__E: Encoder> Encodable<__E> for ValueConst"],["impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort"],["impl<__E: TyEncoder> Encodable<__E> for TyS"],["impl<E: Encoder> Encodable<E> for KVid"],["impl<__E: TyEncoder> Encodable<__E> for FuncSort"],["impl<__E: TyEncoder> Encodable<__E> for KVar"],["impl<__E: TyEncoder> Encodable<__E> for Sort"],["impl<__E: TyEncoder> Encodable<__E> for Constraint"],["impl<__E: TyEncoder> Encodable<__E> for BoundVariableKind"],["impl<__E: TyEncoder> Encodable<__E> for RefinedBy"],["impl<T, __E: TyEncoder> Encodable<__E> for Opaqueness<T>where\n    T: Encodable<__E>,"],["impl<__E: TyEncoder> Encodable<__E> for BaseTy"],["impl<__E: TyEncoder> Encodable<__E> for FuncSort"]],
    +"flux_refineck":[["impl<E: Encoder> Encodable<E> for GlobalVar"],["impl<E: Encoder> Encodable<E> for PlaceIndex"],["impl<E: Encoder> Encodable<E> for KVid"],["impl<E: Encoder> Encodable<E> for TagIdx"],["impl<E: Encoder> Encodable<E> for LocalVar"],["impl<E: Encoder> Encodable<E> for ValueIndex"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/trait.impl/serde/de/trait.Deserialize.js b/doc/trait.impl/serde/de/trait.Deserialize.js
    index c25b3aa9dd..a5457fc696 100644
    --- a/doc/trait.impl/serde/de/trait.Deserialize.js
    +++ b/doc/trait.impl/serde/de/trait.Deserialize.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
     "flux_config":[["impl<'de> Deserialize<'de> for Config"],["impl<'de> Deserialize<'de> for PointerWidth"]],
    -"flux_fixpoint":[["impl<'de, Tag: FromStr> Deserialize<'de> for Error<Tag>"],["impl<'de> Deserialize<'de> for Stats"],["impl<'de> Deserialize<'de> for CrashInfo"],["impl<'de, Tag> Deserialize<'de> for FixpointResult<Tag>where\n    Tag: FromStr,"]]
    +"flux_fixpoint":[["impl<'de, Tag: FromStr> Deserialize<'de> for Error<Tag>"],["impl<'de> Deserialize<'de> for CrashInfo"],["impl<'de> Deserialize<'de> for Stats"],["impl<'de, Tag> Deserialize<'de> for FixpointResult<Tag>where\n    Tag: FromStr,"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/doc/type.impl/alloc/vec/struct.Vec.js b/doc/type.impl/alloc/vec/struct.Vec.js
    index 3d2cdc7f43..80f8cdb8bb 100644
    --- a/doc/type.impl/alloc/vec/struct.Vec.js
    +++ b/doc/type.impl/alloc/vec/struct.Vec.js
    @@ -1,5 +1,5 @@
     (function() {var type_impls = {
    -"flux_middle":[["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a capacity, and a length.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a capacity, a length,\nand an allocator.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    It will drop down as close as possible to the length but the allocator\nmay still inform the vector that there is space for a few more elements.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    If the vector has excess capacity, its items will be moved into a\nnewly-allocated buffer with exactly the right capacity.

    \n
    Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, "32768 bytes is always enough".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec!["foo", "bar", "baz", "qux"];\n\nassert_eq!(v.swap_remove(1), "bar");\nassert_eq!(v, ["foo", "qux", "baz"]);\n\nassert_eq!(v.swap_remove(0), "foo");\nassert_eq!(v, ["baz", "qux"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    Panics
    \n

    Panics if index > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, ["foo", "bar", "baz", "bar"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
    Panics
    \n

    Panics if at > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    Examples
    \n
    let mut vec = vec!["hello"];\nvec.resize(3, "world");\nassert_eq!(vec, ["hello", "world", "world"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::fhir::GenericBounds"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::collections::hash_map::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd>","flux_middle::fhir::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","flux_middle::fhir::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","flux_middle::fhir::GenericBounds"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","flux_middle::fhir::GenericBounds"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","flux_middle::fhir::GenericBounds"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","flux_middle::fhir::GenericBounds"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","flux_middle::fhir::GenericBounds"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","flux_middle::fhir::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>where\n T: Eq,\n A: Allocator,

    ","Eq","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    source§

    fn from_iter<I>(iter: I) -> Vec<T>where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    Examples
    \n
    let v = vec!["a".to_string(), "b".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some("a".to_string()));\nassert_eq!(v_iter.next(), Some("b".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, other: &Vec<T, A>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> From<ThinVec<T>> for Vec<T>

    §

    fn from(s: ThinVec<T>) -> Vec<T>

    Convert a ThinVec into a std::Vec.

    \n

    NOTE: this must reallocate to change the layout!

    \n
    Examples
    \n
    use thin_vec::{ThinVec, thin_vec};\n\nlet b: ThinVec<i32> = thin_vec![1, 2, 3];\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> AsRef<ZeroSlice<T>> for Vec<<T as AsULE>::ULE>where\n T: AsULE,

    §

    fn as_ref(&self) -> &ZeroSlice<T>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Source for Vec<T>where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","flux_middle::fhir::GenericBounds"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","flux_middle::fhir::GenericBounds"],["
    source§

    impl<T> Serialize for Vec<T>where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_middle::fhir::GenericBounds"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Accumulate<T> for Vec<T>

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: T)

    Accumulate the input into an accumulator
    ","Accumulate","flux_middle::fhir::GenericBounds"],["
    §

    impl<'i, T> Accumulate<&'i [T]> for Vec<T>where\n T: Clone,

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: &'i [T])

    Accumulate the input into an accumulator
    ","Accumulate<&'i [T]>","flux_middle::fhir::GenericBounds"],["
    §

    impl<D> Rollback<UndoLog<D>> for Vec<<D as SnapshotVecDelegate>::Value>where\n D: SnapshotVecDelegate,

    §

    fn reverse(&mut self, undo: UndoLog<D>)

    ","Rollback>","flux_middle::fhir::GenericBounds"],["
    §

    impl<D> VecLike<D> for Vec<<D as SnapshotVecDelegate>::Value>where\n D: SnapshotVecDelegate,

    §

    fn push(&mut self, item: <D as SnapshotVecDelegate>::Value)

    §

    fn len(&self) -> usize

    §

    fn reserve(&mut self, size: usize)

    ","VecLike","flux_middle::fhir::GenericBounds"],["
    source§

    impl<T: TypeVisitable> TypeVisitable for Vec<T>

    source§

    fn visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::fhir::GenericBounds"]], +"flux_middle":[["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a capacity, and a length.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a capacity, a length,\nand an allocator.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    It will drop down as close as possible to the length but the allocator\nmay still inform the vector that there is space for a few more elements.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    If the vector has excess capacity, its items will be moved into a\nnewly-allocated buffer with exactly the right capacity.

    \n
    Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, "32768 bytes is always enough".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec!["foo", "bar", "baz", "qux"];\n\nassert_eq!(v.swap_remove(1), "bar");\nassert_eq!(v, ["foo", "qux", "baz"]);\n\nassert_eq!(v.swap_remove(0), "foo");\nassert_eq!(v, ["baz", "qux"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    Panics
    \n

    Panics if index > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, ["foo", "bar", "baz", "bar"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
    Panics
    \n

    Panics if at > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    Examples
    \n
    let mut vec = vec!["hello"];\nvec.resize(3, "world");\nassert_eq!(vec, ["hello", "world", "world"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::fhir::GenericBounds"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::collections::hash_map::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd>","flux_middle::fhir::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","flux_middle::fhir::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","flux_middle::fhir::GenericBounds"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","flux_middle::fhir::GenericBounds"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","flux_middle::fhir::GenericBounds"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","flux_middle::fhir::GenericBounds"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","flux_middle::fhir::GenericBounds"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","flux_middle::fhir::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>where\n T: Eq,\n A: Allocator,

    ","Eq","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    source§

    fn from_iter<I>(iter: I) -> Vec<T>where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    Examples
    \n
    let v = vec!["a".to_string(), "b".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some("a".to_string()));\nassert_eq!(v_iter.next(), Some("b".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_middle::fhir::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, other: &Vec<T, A>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> From<ThinVec<T>> for Vec<T>

    §

    fn from(s: ThinVec<T>) -> Vec<T>

    Convert a ThinVec into a std::Vec.

    \n

    NOTE: this must reallocate to change the layout!

    \n
    Examples
    \n
    use thin_vec::{ThinVec, thin_vec};\n\nlet b: ThinVec<i32> = thin_vec![1, 2, 3];\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> AsRef<ZeroSlice<T>> for Vec<<T as AsULE>::ULE>where\n T: AsULE,

    §

    fn as_ref(&self) -> &ZeroSlice<T>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Source for Vec<T>where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","flux_middle::fhir::GenericBounds"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","flux_middle::fhir::GenericBounds"],["
    source§

    impl<T> Serialize for Vec<T>where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_middle::fhir::GenericBounds"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_middle::fhir::GenericBounds"],["
    §

    impl<T> Accumulate<T> for Vec<T>

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: T)

    Accumulate the input into an accumulator
    ","Accumulate","flux_middle::fhir::GenericBounds"],["
    §

    impl<'i, T> Accumulate<&'i [T]> for Vec<T>where\n T: Clone,

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: &'i [T])

    Accumulate the input into an accumulator
    ","Accumulate<&'i [T]>","flux_middle::fhir::GenericBounds"],["
    §

    impl<D> Rollback<UndoLog<D>> for Vec<<D as SnapshotVecDelegate>::Value>where\n D: SnapshotVecDelegate,

    §

    fn reverse(&mut self, undo: UndoLog<D>)

    ","Rollback>","flux_middle::fhir::GenericBounds"],["
    §

    impl<D> VecLike<D> for Vec<<D as SnapshotVecDelegate>::Value>where\n D: SnapshotVecDelegate,

    §

    fn push(&mut self, item: <D as SnapshotVecDelegate>::Value)

    §

    fn len(&self) -> usize

    §

    fn reserve(&mut self, size: usize)

    ","VecLike","flux_middle::fhir::GenericBounds"],["
    source§

    impl<T: TypeVisitable> TypeVisitable for Vec<T>

    source§

    fn visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::fhir::GenericBounds"]], "flux_refineck":[["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a capacity, and a length.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a capacity, a length,\nand an allocator.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    It will drop down as close as possible to the length but the allocator\nmay still inform the vector that there is space for a few more elements.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    If the vector has excess capacity, its items will be moved into a\nnewly-allocated buffer with exactly the right capacity.

    \n
    Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, "32768 bytes is always enough".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec!["foo", "bar", "baz", "qux"];\n\nassert_eq!(v.swap_remove(1), "bar");\nassert_eq!(v, ["foo", "qux", "baz"]);\n\nassert_eq!(v.swap_remove(0), "foo");\nassert_eq!(v, ["baz", "qux"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    Panics
    \n

    Panics if index > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, ["foo", "bar", "baz", "bar"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
    Panics
    \n

    Panics if at > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<T, A> Vec<T, A>where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    Examples
    \n
    let mut vec = vec!["hello"];\nvec.resize(3, "world");\nassert_eq!(vec, ["hello", "world", "world"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<T, A> Vec<T, A>where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::collections::hash_map::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>where\n T: Eq,\n A: Allocator,

    ","Eq","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    source§

    fn from_iter<I>(iter: I) -> Vec<T>where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    Examples
    \n
    let v = vec!["a".to_string(), "b".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some("a".to_string()));\nassert_eq!(v_iter.next(), Some("b".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, other: &Vec<T, A>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> From<ThinVec<T>> for Vec<T>

    §

    fn from(s: ThinVec<T>) -> Vec<T>

    Convert a ThinVec into a std::Vec.

    \n

    NOTE: this must reallocate to change the layout!

    \n
    Examples
    \n
    use thin_vec::{ThinVec, thin_vec};\n\nlet b: ThinVec<i32> = thin_vec![1, 2, 3];\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> AsRef<ZeroSlice<T>> for Vec<<T as AsULE>::ULE>where\n T: AsULE,

    §

    fn as_ref(&self) -> &ZeroSlice<T>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> Source for Vec<T>where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<T> Serialize for Vec<T>where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> Accumulate<T> for Vec<T>

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: T)

    Accumulate the input into an accumulator
    ","Accumulate","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<'i, T> Accumulate<&'i [T]> for Vec<T>where\n T: Clone,

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: &'i [T])

    Accumulate the input into an accumulator
    ","Accumulate<&'i [T]>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<T> TypeVisitable for Vec<T>where\n T: TypeVisitable,

    §

    fn visit_with<V>(\n &self,\n visitor: &mut V\n) -> ControlFlow<<V as TypeVisitor>::BreakTy>where\n V: TypeVisitor,

    §

    fn has_escaping_bvars(&self) -> bool

    §

    fn fvars(&self) -> HashSet<Name, BuildHasherDefault<FxHasher>>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    §

    fn opaque_refine_args(\n &self\n) -> HashMap<DefId, (Interned<[GenericArg]>, Interned<[Interned<ExprS>]>), BuildHasherDefault<FxHasher>>

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<D> Rollback<UndoLog<D>> for Vec<<D as SnapshotVecDelegate>::Value>where\n D: SnapshotVecDelegate,

    §

    fn reverse(&mut self, undo: UndoLog<D>)

    ","Rollback>","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"],["
    §

    impl<D> VecLike<D> for Vec<<D as SnapshotVecDelegate>::Value>where\n D: SnapshotVecDelegate,

    §

    fn push(&mut self, item: <D as SnapshotVecDelegate>::Value)

    §

    fn len(&self) -> usize

    §

    fn reserve(&mut self, size: usize)

    ","VecLike","flux_refineck::fixpoint_encoding::Bindings","flux_refineck::fixpoint_encoding::PredSpans"]], "flux_syntax":[["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a capacity, and a length.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"flux_syntax::surface::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a capacity, a length,\nand an allocator.

    \n
    Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect("overflow cannot happen");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components.

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    It will drop down as close as possible to the length but the allocator\nmay still inform the vector that there is space for a few more elements.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    If the vector has excess capacity, its items will be moved into a\nnewly-allocated buffer with exactly the right capacity.

    \n
    Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, "32768 bytes is always enough".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec!["foo", "bar", "baz", "qux"];\n\nassert_eq!(v.swap_remove(1), "bar");\nassert_eq!(v, ["foo", "qux", "baz"]);\n\nassert_eq!(v.swap_remove(0), "foo");\nassert_eq!(v, ["baz", "qux"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    Panics
    \n

    Panics if index > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    Panics
    \n

    Panics if index is out of bounds.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, ["foo", "bar", "baz", "bar"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
    Panics
    \n

    Panics if at > len.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"flux_syntax::surface::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    Examples
    \n
    let mut vec = vec!["hello"];\nvec.resize(3, "world");\nassert_eq!(vec, ["hello", "world", "world"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"flux_syntax::surface::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"flux_syntax::surface::GenericBounds"],["
    source§

    impl<T, A> Vec<T, A>where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_syntax::surface::GenericBounds"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::collections::hash_map::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd>","flux_syntax::surface::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","flux_syntax::surface::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","flux_syntax::surface::GenericBounds"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","flux_syntax::surface::GenericBounds"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","flux_syntax::surface::GenericBounds"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","flux_syntax::surface::GenericBounds"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","flux_syntax::surface::GenericBounds"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","flux_syntax::surface::GenericBounds"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","flux_syntax::surface::GenericBounds"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","flux_syntax::surface::GenericBounds"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","flux_syntax::surface::GenericBounds"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>where\n T: Eq,\n A: Allocator,

    ","Eq","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    source§

    fn from_iter<I>(iter: I) -> Vec<T>where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    Examples
    \n
    let v = vec!["a".to_string(), "b".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some("a".to_string()));\nassert_eq!(v_iter.next(), Some("b".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_syntax::surface::GenericBounds"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, other: &Vec<T, A>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_syntax::surface::GenericBounds"],["
    §

    impl<T> From<ThinVec<T>> for Vec<T>

    §

    fn from(s: ThinVec<T>) -> Vec<T>

    Convert a ThinVec into a std::Vec.

    \n

    NOTE: this must reallocate to change the layout!

    \n
    Examples
    \n
    use thin_vec::{ThinVec, thin_vec};\n\nlet b: ThinVec<i32> = thin_vec![1, 2, 3];\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","flux_syntax::surface::GenericBounds"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/core/result/enum.Result.js b/doc/type.impl/core/result/enum.Result.js index 56fd8460cd..7353a6aa69 100644 --- a/doc/type.impl/core/result/enum.Result.js +++ b/doc/type.impl/core/result/enum.Result.js @@ -1,6 +1,6 @@ (function() {var type_impls = { "flux_desugar":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"],["
    source§

    impl<T, E> ResultExt<T, E> for Result<T, E>

    source§

    fn emit<'a>(self, sess: &'a FluxSession) -> Result<T, ErrorGuaranteed>where\n E: IntoDiagnostic<'a>,

    ","ResultExt","flux_desugar::desugar::env::Result","flux_desugar::desugar::gather::Result","flux_desugar::desugar::Result","flux_desugar::resolver::Result","flux_desugar::sort_resolver::Result"]], "flux_middle":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"flux_middle::queries::QueryResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","flux_middle::queries::QueryResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_middle::queries::QueryResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_middle::queries::QueryResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_middle::queries::QueryResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","flux_middle::queries::QueryResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_middle::queries::QueryResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_middle::queries::QueryResult"],["
    source§

    impl<T, E> ResultExt<T, E> for Result<T, E>

    source§

    fn emit<'a>(self, sess: &'a FluxSession) -> Result<T, ErrorGuaranteed>where\n E: IntoDiagnostic<'a>,

    ","ResultExt","flux_middle::queries::QueryResult"]], -"flux_refineck":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_refineck::type_env::projection::CheckerResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","flux_refineck::type_env::projection::CheckerResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_refineck::type_env::projection::CheckerResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn emit<'a>(self, sess: &'a FluxSession) -> Result<T, ErrorGuaranteed>where\n E: IntoDiagnostic<'a>,

    ","ResultExt","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> ResultExt for Result<T, E>where\n E: Into<CheckerErrKind>,

    §

    type Ok = T

    source§

    fn with_span(self, span: Span) -> Result<T, CheckerError>

    source§

    fn with_src_info(self, src_info: SourceInfo) -> Result<T, CheckerError>

    ","ResultExt","flux_refineck::type_env::projection::CheckerResult"]], +"flux_refineck":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"flux_refineck::type_env::projection::CheckerResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_refineck::type_env::projection::CheckerResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_refineck::type_env::projection::CheckerResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","flux_refineck::type_env::projection::CheckerResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","flux_refineck::type_env::projection::CheckerResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn emit<'a>(self, sess: &'a FluxSession) -> Result<T, ErrorGuaranteed>where\n E: IntoDiagnostic<'a>,

    ","ResultExt","flux_refineck::type_env::projection::CheckerResult"],["
    source§

    impl<T, E> ResultExt for Result<T, E>where\n E: Into<CheckerErrKind>,

    §

    type Ok = T

    source§

    fn with_span(self, span: Span) -> Result<T, CheckerError>

    source§

    fn with_src_info(self, src_info: SourceInfo) -> Result<T, CheckerError>

    ","ResultExt","flux_refineck::type_env::projection::CheckerResult"]], "flux_syntax":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err("hey");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err("Some error message");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, "!"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err("Nothing here");\nassert_eq!(x.err(), Some("Nothing here"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err("Error");\nassert_eq!(x.as_ref(), Err(&"Error"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = "1\\n2\\n3\\n4\\n";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!("{n}"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> Uwhere\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let x: Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err("bar");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> Uwhere\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok("foo");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err("bar");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    Examples
    \n
    fn stringify(x: u32) -> String { format!("error code: {x}") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err("error code: 13".to_string()));
    \n
    source

    pub fn inspect<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&T),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nlet x: u8 = "4"\n    .parse::<u8>()\n    .inspect(|x| println!("original: {x}"))\n    .map(|x| x.pow(3))\n    .expect("failed to parse number");
    \n
    source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>where\n F: FnOnce(&E),

    🔬This is a nightly-only experimental API. (result_option_inspect)

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    Examples
    \n
    #![feature(result_option_inspect)]\n\nuse std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string("address.txt")\n        .inspect_err(|e| eprintln!("failed to read file: {e}"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    Examples
    \n
    let x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&str, &u32> = Ok("hello");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    Examples
    \n
    let mut s = "HELLO".to_string();\nlet mut x: Result<String, u32> = Ok("hello".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err("nothing!");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Err("emergency failure");\nx.expect("Testing expect"); // panics with `Testing expect: emergency failure`
    \n
    Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var("IMPORTANT_PATH")\n    .expect("env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> Twhere\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> Twhere\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = "1909";\nlet bad_year_from_input = "190blarg";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err("Testing expect_err"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> Ewhere\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(x.unwrap_err(), "emergency failure");
    \n
    source

    pub fn into_ok(self) -> Twhere\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok("this is fine".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!("{s}");
    \n
    source

    pub fn into_err(self) -> Ewhere\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err("Oops, it failed".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!("{error}");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("late error"));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<&str, &str> = Ok("foo");\nassert_eq!(x.and(y), Err("early error"));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<&str, &str> = Err("late error");\nassert_eq!(x.and(y), Err("not a 2"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok("different result type");\nassert_eq!(x.and(y), Ok("different result type"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));\nassert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows "/" maps to "C:\\"\nlet root_modified_time = Path::new("/").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new("/bad/path").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("early error");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err("not a 2");\nlet y: Result<u32, &str> = Err("late error");\nassert_eq!(x.or(y), Err("late error"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err("error");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> Twhere\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err("foo").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err("emergency failure");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, "emergency failure");
    \n
    ",0,"flux_syntax::ParseResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_syntax::ParseResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"flux_syntax::ParseResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"flux_syntax::ParseResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok("hello"));\nassert_eq!(Ok("hello"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok("hello")));\nassert_eq!(Ok(Ok("hello")), x.flatten());\nassert_eq!(Ok("hello"), x.flatten().flatten());
    \n
    ",0,"flux_syntax::ParseResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","flux_syntax::ParseResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_syntax::ParseResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","flux_syntax::ParseResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec!["5", "10", "1", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec!["5", "10", "one", "2"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_syntax::ParseResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> StructuralEq for Result<T, E>

    ","StructuralEq","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where\n T: Eq,\n E: Eq,

    ","Eq","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or("Overflow!")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or("Underflow!")\n).collect();\nassert_eq!(res, Err("Underflow!"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or("Underflow!")\n}).collect();\nassert_eq!(res, Err("Underflow!"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_syntax::ParseResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err("nothing!");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_syntax::ParseResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where\n T: Copy,\n E: Copy,

    ","Copy","flux_syntax::ParseResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err("Negative element found") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err("Negative element found"));
    \n
    ","Sum>","flux_syntax::ParseResult"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/constraint/enum.Constraint.js b/doc/type.impl/flux_fixpoint/constraint/enum.Constraint.js new file mode 100644 index 0000000000..7dabbd854a --- /dev/null +++ b/doc/type.impl/flux_fixpoint/constraint/enum.Constraint.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Constraint<T>where\n T: Types,

    pub const TRUE: Constraint<T> = _

    pub fn is_concrete(&self) -> bool

    Returns true if the constraint has at least one concrete RHS (“head”) predicates.\nIf !c.is_concrete then c is trivially satisfiable and we can avoid calling fixpoint.

    \n
    ",0,"flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Constraint"],["
    §

    impl<T> Display for Constraint<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Constraint"],["
    §

    impl<T> Hash for Constraint<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Constraint"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/constraint/enum.Expr.js b/doc/type.impl/flux_fixpoint/constraint/enum.Expr.js new file mode 100644 index 0000000000..720bfeb453 --- /dev/null +++ b/doc/type.impl/flux_fixpoint/constraint/enum.Expr.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Expr<T>where\n T: Types,

    pub const ZERO: Expr<T> = _

    pub const ONE: Expr<T> = _

    pub fn eq(self, other: Expr<T>) -> Expr<T>

    ",0,"flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Expr"],["
    §

    impl<T> Display for Expr<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Expr"],["
    §

    impl<T> Hash for Expr<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Expr"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/constraint/enum.Func.js b/doc/type.impl/flux_fixpoint/constraint/enum.Func.js new file mode 100644 index 0000000000..8d9468999d --- /dev/null +++ b/doc/type.impl/flux_fixpoint/constraint/enum.Func.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Display for Func<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Func"],["
    §

    impl<T> Hash for Func<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Func"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/constraint/enum.Pred.js b/doc/type.impl/flux_fixpoint/constraint/enum.Pred.js new file mode 100644 index 0000000000..cb63132845 --- /dev/null +++ b/doc/type.impl/flux_fixpoint/constraint/enum.Pred.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Pred<T>where\n T: Types,

    pub const TRUE: Pred<T> = _

    pub fn is_trivially_true(&self) -> bool

    pub fn is_concrete(&self) -> bool

    ",0,"flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Pred"],["
    §

    impl<T> Display for Pred<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Pred"],["
    §

    impl<T> Hash for Pred<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Pred"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/constraint/struct.Qualifier.js b/doc/type.impl/flux_fixpoint/constraint/struct.Qualifier.js new file mode 100644 index 0000000000..cb171d5530 --- /dev/null +++ b/doc/type.impl/flux_fixpoint/constraint/struct.Qualifier.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Display for Qualifier<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Qualifier"],["
    §

    impl<T> Hash for Qualifier<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Qualifier"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/struct.ConstInfo.js b/doc/type.impl/flux_fixpoint/struct.ConstInfo.js new file mode 100644 index 0000000000..4264d60584 --- /dev/null +++ b/doc/type.impl/flux_fixpoint/struct.ConstInfo.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Display for ConstInfo<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::ConstInfo"],["
    §

    impl<T> Hash for ConstInfo<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::ConstInfo"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/struct.KVar.js b/doc/type.impl/flux_fixpoint/struct.KVar.js new file mode 100644 index 0000000000..5670024084 --- /dev/null +++ b/doc/type.impl/flux_fixpoint/struct.KVar.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> KVar<T>where\n T: Types,

    pub fn new(\n kvid: <T as Types>::KVar,\n sorts: Vec<Sort>,\n comment: String\n) -> KVar<T>

    ",0,"flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::KVar"],["
    §

    impl<T> Display for KVar<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::KVar"],["
    §

    impl<T> Hash for KVar<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::KVar"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_fixpoint/struct.Task.js b/doc/type.impl/flux_fixpoint/struct.Task.js new file mode 100644 index 0000000000..aaf1c72610 --- /dev/null +++ b/doc/type.impl/flux_fixpoint/struct.Task.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_refineck":[["
    §

    impl<T> Task<T>where\n T: Types,

    pub fn new(\n comments: Vec<String>,\n constants: Vec<ConstInfo<T>>,\n kvars: Vec<KVar<T>>,\n constraint: Constraint<T>,\n qualifiers: Vec<Qualifier<T>>,\n sorts: Vec<String>,\n scrape_quals: bool\n) -> Task<T>

    pub fn hash_with_default(&self) -> u64

    pub fn check_with_cache(\n &self,\n key: String,\n cache: &mut QueryCache\n) -> Result<FixpointResult<<T as Types>::Tag>, Error>

    ",0,"flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Task"],["
    §

    impl<T> Display for Task<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Task"],["
    §

    impl<T> Hash for Task<T>where\n T: Types,

    §

    fn hash<__H>(&self, __state: &mut __H)where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Task"],["
    §

    impl<T> Debug for Task<T>where\n T: Types,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","flux_refineck::fixpoint_encoding::fixpoint::fixpoint_generated::Task"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_middle/intern/struct.Interned.js b/doc/type.impl/flux_middle/intern/struct.Interned.js index bb57b8e426..d56b268acc 100644 --- a/doc/type.impl/flux_middle/intern/struct.Interned.js +++ b/doc/type.impl/flux_middle/intern/struct.Interned.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"flux_middle":[["
    source§

    impl<T: Internable> Interned<T>

    source

    pub fn new(obj: T) -> Self

    ",0,"flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Interned<T>

    source

    fn select(\n obj: &T\n) -> (RwLockWriteGuard<'static, HashMap<Arc<T>, SharedValue<()>, BuildHasherDefault<FxHasher>>>, u64)

    ",0,"flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Interned<T>

    source

    fn drop_slow(&mut self)

    ",0,"flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl Interned<[GenericArg]>

    source

    pub fn identity_for_item(\n genv: &GlobalEnv<'_, '_>,\n def_id: impl Into<DefId>\n) -> QueryResult<Self>

    source

    fn fill_item<F>(\n genv: &GlobalEnv<'_, '_>,\n args: &mut Vec<GenericArg>,\n generics: &Generics,\n mk_kind: &mut F\n) -> QueryResult<()>where\n F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,

    ",0,"flux_middle::intern::List"],["
    source§

    impl Interned<[GenericArg]>

    ",0,"flux_middle::intern::List"],["
    source§

    impl Interned<[GenericArg]>

    ",0,"flux_middle::intern::List"],["
    source§

    impl<T: Pretty + Internable> Pretty for Interned<T>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    ","Pretty","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable> Eq for Interned<T>

    ","Eq","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Debug + Internable + ?Sized> Debug for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable> PartialEq for Interned<T>

    Compares interned Refs using pointer equality.

    \n
    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Display + Internable + ?Sized> Display for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Display","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T> PartialEq for Interned<[T]>where\n [T]: Internable,

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::intern::List"],["
    source§

    impl<T: PartialOrd + Internable> PartialOrd for Interned<T>

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> AsRef<T> for Interned<T>

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T> Eq for Interned<[T]>where\n [T]: Internable,

    ","Eq","flux_middle::intern::List"],["
    source§

    impl<T: Internable + ?Sized> Clone for Interned<T>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Ord + Internable> Ord for Interned<T>

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T> From<Vec<T>> for Interned<[T]>where\n [T]: Internable,

    source§

    fn from(vec: Vec<T>) -> Self

    Converts to this type from the input type.
    ","From>","flux_middle::intern::List"],["
    source§

    impl<T: Internable + ?Sized> Hash for Interned<T>

    source§

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<E, T> Encodable<E> for Interned<[T]>where\n E: Encoder,\n T: Encodable<E>,\n [T]: Internable,

    source§

    fn encode(&self, s: &mut E)

    ","Encodable","flux_middle::intern::List"],["
    source§

    impl<T> From<&[T]> for Interned<[T]>where\n [T]: Internable,\n T: Clone,

    source§

    fn from(slice: &[T]) -> Self

    Converts to this type from the input type.
    ","From<&[T]>","flux_middle::intern::List"],["
    source§

    impl<D, T> Decodable<D> for Interned<T>where\n D: Decoder,\n T: Decodable<D> + Internable,

    source§

    fn decode(d: &mut D) -> Self

    ","Decodable","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<E, T> Encodable<E> for Interned<T>where\n E: Encoder,\n T: Encodable<E> + Internable,

    source§

    fn encode(&self, s: &mut E)

    ","Encodable","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Deref for Interned<T>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    ","Deref","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<D, T> Decodable<D> for Interned<[T]>where\n D: Decoder,\n T: Decodable<D>,\n [T]: Internable,

    source§

    fn decode(d: &mut D) -> Self

    ","Decodable","flux_middle::intern::List"],["
    source§

    impl<T: Internable + ?Sized> Drop for Interned<T>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"]] +"flux_middle":[["
    source§

    impl<T: Internable> Interned<T>

    source

    pub fn new(obj: T) -> Self

    ",0,"flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Interned<T>

    source

    fn select(\n obj: &T\n) -> (RwLockWriteGuard<'static, HashMap<Arc<T>, SharedValue<()>, BuildHasherDefault<FxHasher>>>, u64)

    ",0,"flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Interned<T>

    source

    fn drop_slow(&mut self)

    ",0,"flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl Interned<[GenericArg]>

    source

    pub fn identity_for_item(\n genv: &GlobalEnv<'_, '_>,\n def_id: impl Into<DefId>\n) -> QueryResult<Self>

    source

    fn fill_item<F>(\n genv: &GlobalEnv<'_, '_>,\n args: &mut Vec<GenericArg>,\n generics: &Generics,\n mk_kind: &mut F\n) -> QueryResult<()>where\n F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,

    ",0,"flux_middle::intern::List"],["
    source§

    impl Interned<[GenericArg]>

    ",0,"flux_middle::intern::List"],["
    source§

    impl Interned<[GenericArg]>

    ",0,"flux_middle::intern::List"],["
    source§

    impl<T: Internable + ?Sized> Clone for Interned<T>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable> PartialEq for Interned<T>

    Compares interned Refs using pointer equality.

    \n
    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Pretty + Internable> Pretty for Interned<T>

    source§

    fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    ","Pretty","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable> Eq for Interned<T>

    ","Eq","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Deref for Interned<T>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    ","Deref","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T> Eq for Interned<[T]>where\n [T]: Internable,

    ","Eq","flux_middle::intern::List"],["
    source§

    impl<T> From<Vec<T>> for Interned<[T]>where\n [T]: Internable,

    source§

    fn from(vec: Vec<T>) -> Self

    Converts to this type from the input type.
    ","From>","flux_middle::intern::List"],["
    source§

    impl<T: Internable + ?Sized> AsRef<T> for Interned<T>

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Hash for Interned<T>

    source§

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T> PartialEq for Interned<[T]>where\n [T]: Internable,

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::intern::List"],["
    source§

    impl<T: Debug + Internable + ?Sized> Debug for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<D, T> Decodable<D> for Interned<T>where\n D: Decoder,\n T: Decodable<D> + Internable,

    source§

    fn decode(d: &mut D) -> Self

    ","Decodable","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Display + Internable + ?Sized> Display for Interned<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Display","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Ord + Internable> Ord for Interned<T>

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<D, T> Decodable<D> for Interned<[T]>where\n D: Decoder,\n T: Decodable<D>,\n [T]: Internable,

    source§

    fn decode(d: &mut D) -> Self

    ","Decodable","flux_middle::intern::List"],["
    source§

    impl<E, T> Encodable<E> for Interned<T>where\n E: Encoder,\n T: Encodable<E> + Internable,

    source§

    fn encode(&self, s: &mut E)

    ","Encodable","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<E, T> Encodable<E> for Interned<[T]>where\n E: Encoder,\n T: Encodable<E>,\n [T]: Internable,

    source§

    fn encode(&self, s: &mut E)

    ","Encodable","flux_middle::intern::List"],["
    source§

    impl<T> From<&[T]> for Interned<[T]>where\n [T]: Internable,\n T: Clone,

    source§

    fn from(slice: &[T]) -> Self

    Converts to this type from the input type.
    ","From<&[T]>","flux_middle::intern::List"],["
    source§

    impl<T: PartialOrd + Internable> PartialOrd for Interned<T>

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"],["
    source§

    impl<T: Internable + ?Sized> Drop for Interned<T>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","flux_middle::intern::List","flux_middle::rty::expr::Expr","flux_middle::rty::Ty"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_middle/intern/type.List.js b/doc/type.impl/flux_middle/intern/type.List.js index e382c70968..e943b1771d 100644 --- a/doc/type.impl/flux_middle/intern/type.List.js +++ b/doc/type.impl/flux_middle/intern/type.List.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"flux_middle":[["
    source§

    impl<T> List<T>where\n [T]: Internable,

    source

    fn list_with<S>(obj: S, to_arc: impl FnOnce(S) -> Arc<[T]>) -> List<T>where\n S: Borrow<[T]>,

    source

    pub fn from_vec(vec: Vec<T>) -> List<T>

    source

    pub fn from_arr<const N: usize>(arr: [T; N]) -> List<T>

    source

    pub fn empty() -> List<T>

    source

    pub fn singleton(x: T) -> List<T>

    ",0,"flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> List<T>where\n T: Clone,\n [T]: Internable,

    source

    pub fn from_slice(slice: &[T]) -> List<T>

    ",0,"flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> TypeFoldable for List<T>where\n T: TypeFoldable,\n [T]: Internable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>(\n &self,\n genv: &GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n refine_params: &[Expr]\n) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a\nhole. It also replaces all existing predicates with a hole.\nFor example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    ","TypeFoldable","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> PartialOrd for List<T>where\n T: PartialOrd,\n [T]: Internable,

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> Ord for List<T>where\n T: Ord,\n [T]: Internable,

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> TypeVisitable for List<T>where\n T: TypeVisitable,\n [T]: Internable,

    source§

    fn visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> Subst for List<T>where\n T: Subst,\n [T]: Internable,

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    ","Subst","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> FromIterator<T> for List<T>where\n [T]: Internable,

    source§

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Creates a value from an iterator. Read more
    ","FromIterator","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"]] +"flux_middle":[["
    source§

    impl<T> List<T>where\n [T]: Internable,

    source

    fn list_with<S>(obj: S, to_arc: impl FnOnce(S) -> Arc<[T]>) -> List<T>where\n S: Borrow<[T]>,

    source

    pub fn from_vec(vec: Vec<T>) -> List<T>

    source

    pub fn from_arr<const N: usize>(arr: [T; N]) -> List<T>

    source

    pub fn empty() -> List<T>

    source

    pub fn singleton(x: T) -> List<T>

    ",0,"flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> List<T>where\n T: Clone,\n [T]: Internable,

    source

    pub fn from_slice(slice: &[T]) -> List<T>

    ",0,"flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> Ord for List<T>where\n T: Ord,\n [T]: Internable,

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> FromIterator<T> for List<T>where\n [T]: Internable,

    source§

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Creates a value from an iterator. Read more
    ","FromIterator","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> PartialOrd for List<T>where\n T: PartialOrd,\n [T]: Internable,

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> Subst for List<T>where\n T: Subst,\n [T]: Internable,

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    ","Subst","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> TypeVisitable for List<T>where\n T: TypeVisitable,\n [T]: Internable,

    source§

    fn visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"],["
    source§

    impl<T> TypeFoldable for List<T>where\n T: TypeFoldable,\n [T]: Internable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>(\n &self,\n genv: &GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n refine_params: &[Expr]\n) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a\nhole. It also replaces all existing predicates with a hole.\nFor example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    ","TypeFoldable","flux_middle::rty::PolyVariants","flux_middle::rty::Constraints","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs","flux_middle::rustc::ty::GenericArgs"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_middle/rty/struct.Binder.js b/doc/type.impl/flux_middle/rty/struct.Binder.js index 118f4ddba9..943a699a51 100644 --- a/doc/type.impl/flux_middle/rty/struct.Binder.js +++ b/doc/type.impl/flux_middle/rty/struct.Binder.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"flux_middle":[["
    source§

    impl<T> Binder<T>

    source

    pub fn new(value: T, vars: List<BoundVariableKind>) -> Binder<T>

    source

    pub fn with_sorts(value: T, sorts: impl IntoIterator<Item = Sort>) -> Binder<T>

    source

    pub fn with_sort(value: T, sort: Sort) -> Binder<T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn rebind<U>(self, value: U) -> Binder<U>

    source

    pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

    source

    pub fn try_map<U, E>(\n self,\n f: impl FnOnce(T) -> Result<U, E>\n) -> Result<Binder<U>, E>

    ",0,"flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> Binder<T>where\n T: TypeFoldable,

    source

    pub fn replace_bound_vars(\n &self,\n replace_region: impl FnMut(BoundRegion) -> Region,\n replace_expr: impl FnMut(&Sort, InferMode) -> Expr\n) -> T

    source

    pub fn replace_bound_exprs(&self, exprs: &[Expr]) -> T

    source

    pub fn replace_bound_expr(&self, expr: &Expr) -> T

    source

    pub fn replace_bound_exprs_with(\n &self,\n f: impl FnMut(&Sort, InferMode) -> Expr\n) -> T

    ",0,"flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl Binder<Ty>

    source

    pub fn into_ty(self) -> Ty

    ",0,"flux_middle::rty::PolyTy"],["
    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Eq> Eq for Binder<T>

    ","Eq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>where\n T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    ","Decodable<__D>","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> StructuralEq for Binder<T>

    ","StructuralEq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeSuperFoldable for Binder<T>where\n T: TypeFoldable,

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    ","TypeSuperFoldable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>where\n T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    ","Encodable<__E>","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeVisitable for Binder<T>where\n T: TypeVisitable,

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Pretty> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeFoldable for Binder<T>where\n T: TypeFoldable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>(\n &self,\n genv: &GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n refine_params: &[Expr]\n) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a\nhole. It also replaces all existing predicates with a hole.\nFor example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    ","TypeFoldable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> StructuralPartialEq for Binder<T>

    ","StructuralPartialEq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeSuperVisitable for Binder<T>where\n T: TypeVisitable,

    source§

    fn super_visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy>

    ","TypeSuperVisitable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> Pretty for Binder<T>where\n T: Pretty,

    source§

    default fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    ","Pretty","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"]] +"flux_middle":[["
    source§

    impl<T> Binder<T>

    source

    pub fn new(value: T, vars: List<BoundVariableKind>) -> Binder<T>

    source

    pub fn with_sorts(value: T, sorts: impl IntoIterator<Item = Sort>) -> Binder<T>

    source

    pub fn with_sort(value: T, sort: Sort) -> Binder<T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn rebind<U>(self, value: U) -> Binder<U>

    source

    pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

    source

    pub fn try_map<U, E>(\n self,\n f: impl FnOnce(T) -> Result<U, E>\n) -> Result<Binder<U>, E>

    ",0,"flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> Binder<T>where\n T: TypeFoldable,

    source

    pub fn replace_bound_vars(\n &self,\n replace_region: impl FnMut(BoundRegion) -> Region,\n replace_expr: impl FnMut(&Sort, InferMode) -> Expr\n) -> T

    source

    pub fn replace_bound_exprs(&self, exprs: &[Expr]) -> T

    source

    pub fn replace_bound_expr(&self, expr: &Expr) -> T

    source

    pub fn replace_bound_exprs_with(\n &self,\n f: impl FnMut(&Sort, InferMode) -> Expr\n) -> T

    ",0,"flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl Binder<Ty>

    source

    pub fn into_ty(self) -> Ty

    ",0,"flux_middle::rty::PolyTy"],["
    source§

    impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>where\n T: Decodable<__D>,

    source§

    fn decode(__decoder: &mut __D) -> Self

    ","Decodable<__D>","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>where\n T: Encodable<__E>,

    source§

    fn encode(&self, __encoder: &mut __E)

    ","Encodable<__E>","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeVisitable for Binder<T>where\n T: TypeVisitable,

    source§

    fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeSuperFoldable for Binder<T>where\n T: TypeFoldable,

    source§

    fn try_super_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    ","TypeSuperFoldable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeFoldable for Binder<T>where\n T: TypeFoldable,

    source§

    fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>(\n &self,\n genv: &GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n refine_params: &[Expr]\n) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a\nhole. It also replaces all existing predicates with a hole.\nFor example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    ","TypeFoldable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> TypeSuperVisitable for Binder<T>where\n T: TypeVisitable,

    source§

    fn super_visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy>

    ","TypeSuperVisitable","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> StructuralEq for Binder<T>

    ","StructuralEq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> StructuralPartialEq for Binder<T>

    ","StructuralPartialEq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T> Pretty for Binder<T>where\n T: Pretty,

    source§

    default fn fmt(&self, cx: &PPrintCx<'_>, f: &mut Formatter<'_>) -> Result

    source§

    fn default_cx(tcx: TyCtxt<'_>) -> PPrintCx<'_>

    ","Pretty","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Pretty> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"],["
    source§

    impl<T: Eq> Eq for Binder<T>

    ","Eq","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::PolyTy"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_middle/rustc/ty/struct.Binder.js b/doc/type.impl/flux_middle/rustc/ty/struct.Binder.js index 78d3d87694..b1ad24252e 100644 --- a/doc/type.impl/flux_middle/rustc/ty/struct.Binder.js +++ b/doc/type.impl/flux_middle/rustc/ty/struct.Binder.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"flux_middle":[["
    source§

    impl<T> Binder<T>

    source

    pub fn bind_with_vars(\n value: T,\n vars: impl Into<List<BoundVariableKind>>\n) -> Binder<T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    ",0,"flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T> StructuralPartialEq for Binder<T>

    ","StructuralPartialEq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T> StructuralEq for Binder<T>

    ","StructuralEq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Eq> Eq for Binder<T>

    ","Eq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T> Subst for Binder<T>where\n T: Subst,

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    ","Subst","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Debug> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::rustc::ty::PolyFnSig"]] +"flux_middle":[["
    source§

    impl<T> Binder<T>

    source

    pub fn bind_with_vars(\n value: T,\n vars: impl Into<List<BoundVariableKind>>\n) -> Binder<T>

    source

    pub fn skip_binder(self) -> T

    source

    pub fn as_ref(&self) -> Binder<&T>

    source

    pub fn vars(&self) -> &List<BoundVariableKind>

    ",0,"flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Eq> Eq for Binder<T>

    ","Eq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T> StructuralEq for Binder<T>

    ","StructuralEq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Hash> Hash for Binder<T>

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T> Subst for Binder<T>where\n T: Subst,

    source§

    fn subst(&self, args: &[GenericArg]) -> Self

    ","Subst","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T> StructuralPartialEq for Binder<T>

    ","StructuralPartialEq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: PartialEq> PartialEq for Binder<T>

    source§

    fn eq(&self, other: &Binder<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Clone> Clone for Binder<T>

    source§

    fn clone(&self) -> Binder<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","flux_middle::rustc::ty::PolyFnSig"],["
    source§

    impl<T: Debug> Debug for Binder<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","flux_middle::rustc::ty::PolyFnSig"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_middle/rustc/ty/struct.OutlivesPredicate.js b/doc/type.impl/flux_middle/rustc/ty/struct.OutlivesPredicate.js new file mode 100644 index 0000000000..349d19e5e2 --- /dev/null +++ b/doc/type.impl/flux_middle/rustc/ty/struct.OutlivesPredicate.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"flux_middle":[["
    source§

    impl<T: TypeVisitable, U: TypeVisitable> TypeVisitable for OutlivesPredicate<T, U>

    source§

    fn visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V\n) -> ControlFlow<V::BreakTy, ()>

    source§

    fn has_escaping_bvars(&self) -> bool

    source§

    fn fvars(&self) -> FxHashSet<Name>

    Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
    source§

    fn opaque_refine_args(&self) -> OpaqueArgsMap

    Returns the set of all opaque type aliases def ids
    ","TypeVisitable","flux_middle::rty::TypeOutlivesPredicate","flux_middle::rustc::ty::TypeOutlivesPredicate"],["
    source§

    impl<T: TypeFoldable, U: TypeFoldable> TypeFoldable for OutlivesPredicate<T, U>

    source§

    fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F\n) -> Result<Self, F::Error>

    source§

    fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

    source§

    fn normalize_projections<'tcx>(\n &self,\n genv: &GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n refine_params: &[Expr]\n) -> QueryResult<Self>

    source§

    fn normalize(&self, defns: &Defns) -> Self

    Normalize expressions by applying beta reductions for tuples and lambda abstractions.
    source§

    fn replace_holes(&self, f: impl FnMut(&[List<Sort>], HoleKind) -> Expr) -> Self

    Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
    source§

    fn with_holes(&self) -> Self

    Turns each TyKind::Indexed into a TyKind::Exists with a TyKind::Constr and a\nhole. It also replaces all existing predicates with a hole.\nFor example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.
    source§

    fn replace_evars(&self, evars: &EVarSol) -> Self

    source§

    fn shift_in_escaping(&self, amount: u32) -> Self

    source§

    fn shift_out_escaping(&self, amount: u32) -> Self

    ","TypeFoldable","flux_middle::rty::TypeOutlivesPredicate","flux_middle::rustc::ty::TypeOutlivesPredicate"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/guide/install.html b/guide/install.html index c05fe10ab3..4a411bb1a4 100644 --- a/guide/install.html +++ b/guide/install.html @@ -91,7 +91,9 @@ - + diff --git a/guide/run.html b/guide/run.html index 858b2bf59b..fc1136bcc3 100644 --- a/guide/run.html +++ b/guide/run.html @@ -91,7 +91,9 @@ - + diff --git a/guide/specs.html b/guide/specs.html index 1a1e482b7e..9bfabe64bd 100644 --- a/guide/specs.html +++ b/guide/specs.html @@ -91,7 +91,9 @@ - + diff --git a/highlight.js b/highlight.js index 180385b702..3256c00ed3 100644 --- a/highlight.js +++ b/highlight.js @@ -3,4 +3,51 @@ License: BSD-3-Clause Copyright (c) 2006-2020, Ivan Sagalaev */ -var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="
    ",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}());hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}());hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}());hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}());hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}());hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}());hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}());hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}());hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}());hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}());hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}());hljs.registerLanguage("http",function(){"use strict";return function(e){var n="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+n,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+n+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:n},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}());hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}());hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}());hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}());hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}());hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(...n){return n.map(n=>e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}());hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}());hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}());hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}());hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}());hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}());hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}());hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:">>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}());hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}());hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}());hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}());hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}());hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}());hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}());hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}());hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}());hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}());hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}());hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}());hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}());hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}());hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}());hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}());hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="
    ",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/index.html b/index.html index e025bf45f3..2f8970be85 100644 --- a/index.html +++ b/index.html @@ -91,7 +91,9 @@ - + diff --git a/print.html b/print.html index 6e7d3f3a03..df083949eb 100644 --- a/print.html +++ b/print.html @@ -92,7 +92,9 @@ - + @@ -652,24 +654,22 @@

    Sample output

    Flux is implemented as a compiler driver. We hook into the compiler by implementing the Callbacks trait. The implementation is located is in the flux-driver crate, and it is the main entry point to Flux.

    Crates

      -
    • flux: Contains the flux-driver binary.
    • -
    • flux-attrs: Implementation of user facing procedural macros for annotating programs with Flux specs.
    • -
    • flux-attrs-proc-macros: Procedural macro crate exporting the user facing procedural macros.
    • -
    • flux-attrs-proc-macros-build: Dummy crate used to pre-build the procedural macro crate with relevant features enabled. The main purpose of this crate is being able to use procedural macros in tests.
    • -
    • flux-bin: Contains the cargo-flux and rustc-flux binaries.
    • -
    • flux-common: Common utility definitions used across all crates.
    • -
    • flux-config: Crate containing logic associated with global configuration Flags that change the behavior of Flux, e.g, to enable or disable overflow checking.
    • -
    • flux-desugar: Implementation of name resolution and desugaring from Flux surface syntax into Flux high-level intermediate representation (fhir).
    • -
    • flux-driver: Main entry point to Flux. It contains the implementation of the Callbacks trait.
    • -
    • flux-errors: Utility definitions for user facing error reporting.
    • -
    • flux-fhir-analysis: Implements the "analyses" performed in the fhir, most notably well-formedness checking and conversion from fhir into rty.
    • -
    • flux-fixpoint: Code to interact with the Liquid Fixpoint binary.
    • -
    • flux-macros: Procedural macros used internally to implement Flux.
    • -
    • flux-metadata: Logic for saving Flux crate metadata that can be used to import refined signatures from external crates.
    • -
    • flux-middle: This crate contains common type definitions that are used by the rest of Flux like the rty and fhir intermediate representations. Akin to rustc_middle.
    • -
    • flux-refineck: Implementation of refinement type checking.
    • -
    • flux-syntax: Definition of the surface syntax AST and parser.
    • -
    • flux-tests: Flux regression tests.
    • +
    • crates/flux-bin: Contains the cargo-flux and rustc-flux binaries used to launch the flux-driver.
    • +
    • crates/flux-common: Common utility definitions used across all crates.
    • +
    • crates/flux-config: Crate containing logic associated with global configuration flags that change the behavior of Flux, e.g, to enable or disable overflow checking.
    • +
    • crates/flux-desugar: Implementation of name resolution and desugaring from Flux surface syntax into Flux high-level intermediate representation (fhir). This includes name resolution.
    • +
    • crates/flux-driver: Main entry point to Flux. It contains the flux-driver binary and the implementation of the Callbacks trait.
    • +
    • crates/flux-errors: Utility definitions for user facing error reporting.
    • +
    • crates/flux-fhir-analysis: Implements the "analyses" performed in the fhir, most notably well-formedness checking and conversion from fhir into rty.
    • +
    • crates/flux-fixpoint: Code to interact with the Liquid Fixpoint binary.
    • +
    • crates/flux-macros: Procedural macros used internally to implement Flux.
    • +
    • crates/flux-metadata: Logic for saving Flux crate metadata that can be used to import refined signatures from external crates.
    • +
    • crates/flux-middle: This crate contains common type definitions that are used by the rest of Flux like the rty and fhir intermediate representations. Akin to rustc_middle.
    • +
    • crates/flux-refineck: Implementation of refinement type checking.
    • +
    • crates/flux-syntax: Definition of the surface syntax AST and parser.
    • +
    • crates/flux-tests: Flux regression tests.
    • +
    • lib/flux-attrs: Implementation of user facing procedural macros for annotating programs with Flux specs.
    • +
    • lib/flux-rs: This is just a re-export of the macros implemented in flux-attrs. The intention is to eventually put Flux "standard library" here, i.e., a set of definitions that are useful when working with Flux.

    Intermediate Representations

    Flux has several intermediate representations (IR) for types. They represent a refined version of an equivalent type in some rustc IR. We have picked a distinct verb to refer to the process of going between these different representations to make it easier to refer to them. The following image summarizes all the IRs and the process for going between them.

    diff --git a/searchindex.js b/searchindex.js index d22860f464..920bd98254 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Object.assign(window.search, {"doc_urls":["index.html","guide/install.html#installing-flux","guide/install.html#requirements","guide/install.html#installing","guide/run.html#running-flux","guide/run.html#running-on-a-file-rustc-flux","guide/run.html#running-on-a-package-cargo-flux","guide/run.html#a-tiny-example","guide/run.html#a-note-about-the-flux-driver-binary","guide/run.html#editor-support","guide/run.html#rust-analyzer-in-vscode","guide/run.html#configuration","guide/run.html#environment-variables","guide/run.html#config-file","guide/run.html#crate-config","guide/run.html#query-caching","guide/specs.html#flux-specification-guide","guide/specs.html#refinement-types","guide/specs.html#argument-syntax","guide/specs.html#extern-specs","guide/specs.html#import-the-procedural-macros","guide/specs.html#extern-functions","guide/specs.html#extern-structs-and-impls","guide/specs.html#grammar-of-refinements","dev/develop.html#developers-guide","dev/develop.html#regression-tests","dev/develop.html#testing-flux-on-a-file","dev/develop.html#reporting-locations-where-errors-are-emitted","dev/develop.html#running-outside-the-project","dev/develop.html#profiling-flux","dev/develop.html#sample-output","dev/architecture.html#high-level-architecture","dev/architecture.html#crates","dev/architecture.html#intermediate-representations","dev/architecture.html#surface","dev/architecture.html#fhir","dev/architecture.html#rty","dev/architecture.html#simplified-rustc","dev/architecture.html#lifting-and-refining","blog/01-introducing-flux.html#introducing-flux","blog/01-introducing-flux.html#indexed-types","blog/01-introducing-flux.html#post-conditions","blog/01-introducing-flux.html#pre-conditions","blog/01-introducing-flux.html#index-parameters-and-expressions","blog/01-introducing-flux.html#existential-types","blog/01-introducing-flux.html#summary","blog/02-ownership.html#ownership-in-flux","blog/02-ownership.html#exclusive-ownership","blog/02-ownership.html#borrowing-shared-references","blog/02-ownership.html#refinement-parameters","blog/02-ownership.html#borrowing-mutable-references","blog/02-ownership.html#aliased-references","blog/02-ownership.html#borrowing-strong-references","blog/02-ownership.html#summary","blog/03-vectors.html#refined-vectors","blog/03-vectors.html#refining-vectors-to-track-their-size","blog/03-vectors.html#creating-vectors","blog/03-vectors.html#pushing-values","blog/03-vectors.html#popping-values","blog/03-vectors.html#using-the-api","blog/03-vectors.html#querying-the-size","blog/03-vectors.html#random-access","blog/03-vectors.html#memoization","blog/03-vectors.html#binary-search","blog/03-vectors.html#summary","about.html#about-flux","about.html#team","about.html#code","about.html#thanks","about.html#limitations"],"index":{"documentStore":{"docInfo":{"0":{"body":25,"breadcrumbs":1,"title":1},"1":{"body":0,"breadcrumbs":3,"title":2},"10":{"body":26,"breadcrumbs":4,"title":3},"11":{"body":0,"breadcrumbs":2,"title":1},"12":{"body":117,"breadcrumbs":3,"title":2},"13":{"body":68,"breadcrumbs":3,"title":2},"14":{"body":36,"breadcrumbs":3,"title":2},"15":{"body":23,"breadcrumbs":3,"title":2},"16":{"body":5,"breadcrumbs":4,"title":3},"17":{"body":209,"breadcrumbs":3,"title":2},"18":{"body":77,"breadcrumbs":3,"title":2},"19":{"body":41,"breadcrumbs":3,"title":2},"2":{"body":10,"breadcrumbs":2,"title":1},"20":{"body":38,"breadcrumbs":4,"title":3},"21":{"body":131,"breadcrumbs":3,"title":2},"22":{"body":214,"breadcrumbs":4,"title":3},"23":{"body":61,"breadcrumbs":3,"title":2},"24":{"body":0,"breadcrumbs":3,"title":2},"25":{"body":145,"breadcrumbs":3,"title":2},"26":{"body":103,"breadcrumbs":4,"title":3},"27":{"body":33,"breadcrumbs":5,"title":4},"28":{"body":82,"breadcrumbs":4,"title":3},"29":{"body":17,"breadcrumbs":3,"title":2},"3":{"body":77,"breadcrumbs":2,"title":1},"30":{"body":150,"breadcrumbs":3,"title":2},"31":{"body":18,"breadcrumbs":5,"title":3},"32":{"body":193,"breadcrumbs":3,"title":1},"33":{"body":34,"breadcrumbs":4,"title":2},"34":{"body":19,"breadcrumbs":3,"title":1},"35":{"body":27,"breadcrumbs":3,"title":1},"36":{"body":21,"breadcrumbs":3,"title":1},"37":{"body":23,"breadcrumbs":4,"title":2},"38":{"body":32,"breadcrumbs":4,"title":2},"39":{"body":81,"breadcrumbs":4,"title":2},"4":{"body":6,"breadcrumbs":3,"title":2},"40":{"body":26,"breadcrumbs":4,"title":2},"41":{"body":55,"breadcrumbs":4,"title":2},"42":{"body":61,"breadcrumbs":4,"title":2},"43":{"body":64,"breadcrumbs":5,"title":3},"44":{"body":154,"breadcrumbs":4,"title":2},"45":{"body":72,"breadcrumbs":3,"title":1},"46":{"body":56,"breadcrumbs":4,"title":2},"47":{"body":141,"breadcrumbs":4,"title":2},"48":{"body":123,"breadcrumbs":5,"title":3},"49":{"body":72,"breadcrumbs":4,"title":2},"5":{"body":31,"breadcrumbs":5,"title":4},"50":{"body":116,"breadcrumbs":5,"title":3},"51":{"body":82,"breadcrumbs":4,"title":2},"52":{"body":153,"breadcrumbs":5,"title":3},"53":{"body":67,"breadcrumbs":3,"title":1},"54":{"body":48,"breadcrumbs":4,"title":2},"55":{"body":70,"breadcrumbs":6,"title":4},"56":{"body":60,"breadcrumbs":4,"title":2},"57":{"body":48,"breadcrumbs":4,"title":2},"58":{"body":46,"breadcrumbs":4,"title":2},"59":{"body":50,"breadcrumbs":4,"title":2},"6":{"body":24,"breadcrumbs":5,"title":4},"60":{"body":40,"breadcrumbs":4,"title":2},"61":{"body":122,"breadcrumbs":4,"title":2},"62":{"body":80,"breadcrumbs":3,"title":1},"63":{"body":108,"breadcrumbs":4,"title":2},"64":{"body":39,"breadcrumbs":3,"title":1},"65":{"body":5,"breadcrumbs":1,"title":1},"66":{"body":15,"breadcrumbs":1,"title":1},"67":{"body":5,"breadcrumbs":1,"title":1},"68":{"body":12,"breadcrumbs":1,"title":1},"69":{"body":6,"breadcrumbs":1,"title":1},"7":{"body":85,"breadcrumbs":3,"title":2},"8":{"body":39,"breadcrumbs":5,"title":4},"9":{"body":8,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"Flux is a refinement type checker for Rust that lets you specify a range of correctness properties and have them be verified at compile time. See the examples -- listed in the summary on the left -- to learn about Refinement types and Rust. You can try it online here .","breadcrumbs":"Introduction","id":"0","title":"Introduction"},"1":{"body":"","breadcrumbs":"Install » Installing Flux","id":"1","title":"Installing Flux"},"10":{"body":"Add this to the workspace settings i.e. .vscode/settings.json { \"rust-analyzer.check.overrideCommand\": [ \"cargo\", \"flux\", \"--workspace\", \"--message-format=json-diagnostic-rendered-ansi\" ]\n} Note: Make sure to edit the paths in the above snippet to point to the correct locations on your machine.","breadcrumbs":"Run » Rust-Analyzer in VSCode","id":"10","title":"Rust-Analyzer in VSCode"},"11":{"body":"","breadcrumbs":"Run » Configuration","id":"11","title":"Configuration"},"12":{"body":"You can set various env variables to customize the behavior of flux. FLUX_CONFIG tells flux where to find a config file for these settings. By default, flux searches its directory for a flux.toml or .flux.toml. FLUX_SYSROOT tells cargo-flux and rustc-flux where to find the flux-driver binary. Defaults to the default installation location in ~/.flux. FLUX_LOG_DIR=path/to/log/ sets the directory where constraints, timing and cache are saved. Defaults to ./log/. FLUX_DUMP_CONSTRAINT=1 tell flux to dump constraints generated for each function. FLUX_DUMP_CHECKER_TRACE=1 saves the checker's trace (useful for debugging!) FLUX_DUMP_TIMINGS=1 saves the profile information FLUX_DUMP_MIR=1 saves the low-level MIR for each analyzed function FLUX_POINTER_WIDTH=N the size of (either 32 or 64), used to determine if an integer cast is lossy (default 64). FLUX_CHECK_DEF=name only checks definitions containing name as a substring FLUX_CACHE=1\" switches on query caching and saves the cache in FLUX_CACHE_FILE FLUX_CACHE_FILE=file.json customizes the cache file, default FLUX_LOG_DIR/cache.json FLUX_CHECK_OVERFLOW=1 checks for over and underflow on arithmetic integer operations, default 0. When set to 0, it still checks for underflow on unsigned integer subtraction.","breadcrumbs":"Run » Environment Variables","id":"12","title":"Environment Variables"},"13":{"body":"The config file is a .toml file that contains on each line the lowercase name of a flux command line flag without the FLUX_ prefix. Set environment variables take priority over the config file. The config file should be in the project root. For example, suppose your project root contains the following flux.toml. log_dir = \"./test\"\ndump_timings = true\ndump_mir = true\ncache = true and you run in the project root FLUX_DUMP_MIR=0 cargo-flux check then flux will create the directory ./test/ and write ./test/timings, a file containing profiling information. It will not dump the MIR because that setting was overridden by setting the environment variable FLUX_DUMP_MIR=0.","breadcrumbs":"Run » Config file","id":"13","title":"Config file"},"14":{"body":"Some flags can be configured on a per-crate basis using the custom inner attribute #![flux::cfg]. This annotation relies on the unstable custom inner attributes feature. To be able to use with a non-nightly compiler you have to put it under a cfg_attr. For example, to enable overflow checking: #![cfg_attr(flux, flux::cfg(check_overflow = true))] The only flag supported now is overflow checking.","breadcrumbs":"Run » Crate Config","id":"14","title":"Crate Config"},"15":{"body":"FLUX_CACHE=1 persistently caches the safe fixpoint queries for each DefId in FLUX_LOG_DIR/FLUX_CACHE_FILE, and on subsequent runs, skips queries that are already in the cache, which considerably speeds up cargo-flux check on an entire crate.","breadcrumbs":"Run » Query Caching","id":"15","title":"Query Caching"},"16":{"body":"This is a WIP guide to writing specifications in flux.","breadcrumbs":"Specs » Flux Specification Guide","id":"16","title":"Flux Specification Guide"},"17":{"body":"Indexed Type : An indexed type B[r] is composed of a base Rust type B and a refinement index r. The meaning of the index depends on the type. Some examples are i32[n]: denotes the (singleton) set of i32 values equal to n. List[n]: values of type List of length n. Refinement parameter : Function signatures can be parametric on refinement variables. Refinement parameters are declared using the @n syntax. For example, the following signature: fn(i32[@n]) -> i32[n + 1] binds n over the entire scope of the function to specify that it takes an i32 equal to n and returns an i32 equal to n + 1. This is analogous to languages like Haskell where a lower case letter can be used to quantify over a type, e.g., the type a -> a in Haskell is polymorphic on the type a which is bound for the scope of the entire function type. Existential Type : An existential type B{v: r(v)} is composed of a base type B, a refinement variable v and a refinement predicate r on v. Intuitively, a Rust value x has type B{v: r(v)} if there exists a refinement value a such that r(a) holds and x has type B[x]. i32{v: v > 0}: set of positive i32 values. List{v: v > 0}: set of non-empty lists. Constraint Type : A constraint type has the form {T | r} where T is any type (not just a base type). Intuitively, a value has type {T | r} if it has type T and also r holds. They can be used to constraint a refinement parameter. For example, the following signature constraint the refinement parameter n to be less than n. fn({i32[@n] | n < 10}) -> i32[n + 1] Constraint types serve a similar role as existentials as they can also be used to constraint some refinement value with a predicate, but an existential type can only be used to constraint refinement variable that it bound locally, in contrast constraint types can be used to constraint a \"non-local\" parameter. This can be seen in the example above where the parameter n cannot be bound locally because it has to be used in the return type.","breadcrumbs":"Specs » Refinement Types","id":"17","title":"Refinement Types"},"18":{"body":"The @n syntax used to declare refinements parameters can be hard to read sometimes. Flux also supports a syntax that let you bind refinement parameters using colons similar to the syntax used to declare arguments in a function. We call this argument syntax . This syntax desugars to one of the refinements forms discussed above. For example, the following signature fn(x: i32, y: i32) -> i32[x + y] desugars to fn(i32[@x], i32[@y]) -> i32[x + y] It is also possible to attach some constraint to the parameters when using argument syntax. For example, to specify that y must be greater than x using argument syntax we can write: fn(x: i32, y: i32{x > y}) -> i32[x + y] This will desugar to: fn(i32[@x], {i32[@y] | x > y}) -> i32[x + y]","breadcrumbs":"Specs » Argument Syntax","id":"18","title":"Argument Syntax"},"19":{"body":"Sometimes you may want to refine a struct or function that outside your code. We refer to such a specification as an \"extern spec,\" which is short for \"external specification.\" Flux right now has rudimentary support for extern specs: they are supported for functions, impls, and structs. Impls are only supported for structs and if you have multiple impls for a struct (such as &[T] and [T]), those may conflict. Structs only support opaque refinements.","breadcrumbs":"Specs » Extern specs","id":"19","title":"Extern specs"},"2":{"body":"rustup liquid-fixpoint z3 Be sure that the liquid-fixpoint and z3 executables are in your $PATH.","breadcrumbs":"Install » Requirements","id":"2","title":"Requirements"},"20":{"body":"In order to use an extern spec you need to add a dependency on flux_rs . Right now this needs to be done as a local dependency since it is not published. Below is an example of how you can include it, although the version may be different. [dependencies]\nflux-rs = { path = \"path-to-flux/flux/flux-rs\", version = \"0.1.0\" } Then in your code you will need to include the extern_spec attribute macro. use flux_rs::extern_spec;","breadcrumbs":"Specs » Import the procedural macros","id":"20","title":"Import the procedural macros"},"21":{"body":"An example of refining an extern function can be found here . To define an extern spec on a function, you need to do three things, which happen to correspond to each of the below lines. #[extern_spec(std::mem)]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\nfn swap(a: &mut i32, b: &mut i32); Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::mem. You can use this path to qualify the function. So in the above example, the function we are targeting has the full path of std::mem::swap. Add a #[flux::sig(...)] attribute. This is required for any extern spec on a function. This signature behaves as if the #[flux::trusted] attribute was added, because we can't actually check the implementation. We just verify some simple things, like that the function arguments have compatible types. Write a function stub that matches the external function. If you do the above, you can use std::mem::swap as if it were refined by the above type. You shouldn't need to know the details, but here's how the macro works. It parses the std::mem into a module path and then transforms the function into #[flux::extern_spec]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\n#[allow(unused, dead_code)]\nfn __flux_extern_spec_swap(a: &mut i32, b: &mut i32) { std::mem::swap(a, b)\n} It does this to get information about the function std::mem::swap and its arguments (this turns out to be difficult to do without giving the compiler something to inspect and type check).","breadcrumbs":"Specs » Extern functions","id":"21","title":"Extern functions"},"22":{"body":"An example of refining an extern struct and impl can be found here . A simpler example just involving structs can be found here . The syntax for an extern spec on a struct is very similar to that for a function. Once again, each line in the example happens to correspond to a step. #[extern_spec(std::string)]\n#[flux::refined_by(len: int)]\nstruct String; Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::string. You can use this path to qualify the function. So in the above example, the struct we are targeting has the full path of std::string::String. Add a #[flux::refined_by(...)] attribute. This is required for any extern spec on a struct. Right now these attributes behave as if they were opaque (#[flux::opaque]), although we may support non-opaque extern structs. Write a stub for the extern struct. If you do the above, you can use std::string::String as if it were refined by an integer index. The syntax for an extern impl is a little different than that for functions or structs. #[extern_spec(std::string)]\nimpl String { #[flux::sig(fn() -> String[0])] fn new() -> String; #[flux::sig(fn(&String[@n]) -> usize[n])] fn len(s: &String) -> usize;\n} You still need to add the #[extern_spec] attribute, with the same optional argument of the path as above. You need to write out the impl block for the struct you want to refine. This struct does not need an extern spec, since by refining the impl you're only refining its methods. Write an extern spec for each function you wish to refine (this may be a subset). This is written just like a function extern spec with the caveat that the self parameter is not presently supported. So for example, instead of writing fn len(&self) -> usize;, you need to write fn len(s: &String) -> usize;. If you do the above, you can use the above methods ofstd::string::String as if they were refined. You shouldn't need to know the details, but here's how the above two macros expand. For structs: #[flux::extern_spec]\n#[allow(unused, dead_code)]\n#[flux::refined_by(len: int)]\nstruct __FluxExternSpecString(std::string::String); For impls (this was translated manually so there might be some bugs): #[allow(unused, dead_code)]\nstruct __FluxExternImplStructString; #[allow(unused, dead_code)]\nimpl __FluxExternImplStructString { #[flux::extern_spec] #[flux::sig(fn() -> String[0])] #[allow(unused, dead_code)] fn __flux_extern_spec_new() -> String { std::string::String::new::<>() } #[flux::extern_spec] #[flux::sig(fn(&String[@n]) -> usize[n])] #[allow(unused, dead_code)] fn __flux_extern_spec_len(s: &String) -> usize { std::string::String::len::<>(s) }\n}","breadcrumbs":"Specs » Extern structs and impls","id":"22","title":"Extern structs and impls"},"23":{"body":"r ::= n // numbers 1,2,3... | x // identifiers x,y,z... | x.f // index-field access | r + r // addition | r - r // subtraction | n * e // multiplication by constant | if r { r } else { r } // if-then-else | f(r...) // function application | true | false // booleans | r == r // equality | r != r // not equal | r < r // less than | r <= r // less than or equal | r > r // greater than | r >= r // greater than or equal | r || r // disjunction | r && r // conjunction | r => r // implication | !r // negation","breadcrumbs":"Specs » Grammar of Refinements","id":"23","title":"Grammar of Refinements"},"24":{"body":"","breadcrumbs":"Develop » Developer's Guide","id":"24","title":"Developer's Guide"},"25":{"body":"You can run the various regression tests in the tests/pos and tests/neg directories using cargo xtask test This will build the flux binary and then run it against the entire test suite. You can optionally pass a filter to only run tests containing some substring. For example: $ cargo xtask test impl_trait Compiling xtask v0.1.0 (/path/to/flux/xtask) Finished dev [unoptimized + debuginfo] target(s) in 0.29s Running `target/debug/xtask test impl_trait`\n$ cargo build Finished dev [unoptimized + debuginfo] target(s) in 0.05s\n$ cargo test -p flux-tests -- --test-args impl_trait Compiling flux-tests v0.1.0 (/path/to/flux/flux-tests) Finished test [unoptimized + debuginfo] target(s) in 0.62s Running tests/compiletest.rs (target/debug/deps/compiletest-1241128f1f51caa4) running 5 tests\ntest [ui] pos/surface/impl_trait04.rs ... ok\ntest [ui] pos/surface/impl_trait03.rs ... ok\ntest [ui] pos/surface/impl_trait01.rs ... ok\ntest [ui] pos/surface/impl_trait00.rs ... ok\ntest [ui] pos/surface/impl_trait02.rs ... ok test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 191 filtered out; finished in 0.10s running 2 tests\ntest [compile-fail] neg/surface/impl_trait00.rs ... ok\ntest [compile-fail] neg/surface/impl_trait02.rs ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 207 filtered out; finished in 0.09s","breadcrumbs":"Develop » Regression Tests","id":"25","title":"Regression Tests"},"26":{"body":"When working on Flux, you may want to test your changes by running it against a test file. You can use cargo xtask run to run Flux on a single input file. The command will set appropriate flags to be able to use custom Flux attributes and macros, plus some extra flags useful for debugging. For example: $ cat test.rs\n#[flux::sig(fn(x: i32) -> i32[x + 1])]\nfn add1(x: i32) -> i32 { x + 1\n}\n$ cargo xtask run test.rs The command will use a super set of the flags passed when running regression tests. Thus, a common workflow is to identify a failing test and run it directly with cargo xtask run, or alternatively copy it to a different file. You may also find useful to create a directory in the root of the project and add it to .git/info/exclude . You can keep files there, outside of version control, and test Flux against them. I have a directory called attic/ where I keep a file named playground.rs. To run Flux on it, I do cargo xtask run attic/playground.rs.","breadcrumbs":"Develop » Testing Flux on a File","id":"26","title":"Testing Flux on a File"},"27":{"body":"When you use cargo xtask run you'll see that we report the location an error was emitted, e.g., error[FLUX]: refinement type error --> attic/playground.rs:4:5 |\n4 | 0 | ^ a postcondition cannot be proved\n-Ztrack-diagnostics: created at crates/flux-refineck/src/lib.rs:114:15 <------- this You can also pass -Ztrack-diagnostics=y to enable it if you are not using cargo xtask run","breadcrumbs":"Develop » Reporting locations where errors are emitted","id":"27","title":"Reporting locations where errors are emitted"},"28":{"body":"To run Flux in a package outside the flux repo you need to install the binaries globally. You can do that using cargo xtask install. If you are continuously testing new changes it could be annoying to do it each time. To deal with this, you can set the FLUX_SYSROOT environment variable to change the location where cargo-flux and rustc-flux load the flux-driver. You can set it globally to point to the target/debug directory inside your local copy of the repo. This way you won't have to run cargo xtask install after every change, and you can be sure you'll be using the latest local debug build. Just be aware that the rustc-flux and cargo-flux binaries are built for a specific toolchain, and you will get a dynamic linking error if the flux-driver was compiled with a different one. This is to say, you should at least run cargo xtask install every time after the toolchain is updated.","breadcrumbs":"Develop » Running outside the project","id":"28","title":"Running outside the project"},"29":{"body":"Set FLUX_DUMP_TIMINGS=true to have flux write timing diagnostics to ./log/timings. Right now this is extremely simple, it just provides some details for the spans under flux_typeck and flux_driver.","breadcrumbs":"Develop » Profiling Flux","id":"29","title":"Profiling Flux"},"3":{"body":"The only way to use flux is to build it from source. First you need to clone the repository git clone https://github.com/flux-rs/flux\ncd flux To build the source you need a nightly version of rustc. We pin the version using a toolchain file (more info here ). If you are using rustup, no special action is needed as it should install the correct rustc version and components based on the information on that file. Next, run the following to build and install flux binaries cargo xtask install This will install two binaries rustc-flux and cargo-flux in your cargo home. These two binaries should be used respectively to run flux on either a single file or on a project using cargo. The installation process will also copy some files to $HOME/.flux.","breadcrumbs":"Install » Installing","id":"3","title":"Installing"},"30":{"body":"Below is a sample output for an invocation of cargo-flux check that took 19 seconds. The missing 2 seconds approximately accounts for the time it takes for cargo check to run. Note that check_crate contains everything running under check_top, which is why the sum of the spans is greater than 19 seconds. check_top Checker::infer num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 2.62ms max: 24.12ms total time: 229.64ms Checker::check num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 5.24ms max: 159.91ms total time: 2028.47ms FixpointCtx::check num events: 205 min non-zero: 22.02ms 1st quartile: 26.21ms 2nd quartile: 28.31ms 3rd quartile: 40.37ms max: 1867.51ms total time: 9106.36ms\ntotal time: 11364.47ms check_crate Callbacks::check_wf num events: 1 min non-zero: 18.35ms 1st quartile: 18.87ms 2nd quartile: 18.87ms 3rd quartile: 18.87ms max: 18.87ms total time: 18.87ms Callbacks::check_crate num events: 1 min non-zero: 16986.93ms 1st quartile: 16995.32ms 2nd quartile: 16995.32ms 3rd quartile: 16995.32ms max: 16995.32ms total time: 16995.32ms\ntotal time: 17014.19ms","breadcrumbs":"Develop » Sample output","id":"30","title":"Sample output"},"31":{"body":"Flux is implemented as a compiler driver . We hook into the compiler by implementing the Callbacks trait. The implementation is located is in the flux-driver crate, and it is the main entry point to Flux.","breadcrumbs":"Develop » Architecture » High-level Architecture","id":"31","title":"High-level Architecture"},"32":{"body":"flux: Contains the flux-driver binary. flux-attrs: Implementation of user facing procedural macros for annotating programs with Flux specs. flux-attrs-proc-macros: Procedural macro crate exporting the user facing procedural macros. flux-attrs-proc-macros-build: Dummy crate used to pre-build the procedural macro crate with relevant features enabled. The main purpose of this crate is being able to use procedural macros in tests. flux-bin: Contains the cargo-flux and rustc-flux binaries. flux-common: Common utility definitions used across all crates. flux-config: Crate containing logic associated with global configuration Flags that change the behavior of Flux, e.g, to enable or disable overflow checking. flux-desugar: Implementation of name resolution and desugaring from Flux surface syntax into Flux high-level intermediate representation (fhir). flux-driver: Main entry point to Flux. It contains the implementation of the Callbacks trait. flux-errors: Utility definitions for user facing error reporting. flux-fhir-analysis: Implements the \"analyses\" performed in the fhir, most notably well-formedness checking and conversion from fhir into rty. flux-fixpoint: Code to interact with the Liquid Fixpoint binary. flux-macros: Procedural macros used internally to implement Flux. flux-metadata: Logic for saving Flux crate metadata that can be used to import refined signatures from external crates. flux-middle: This crate contains common type definitions that are used by the rest of Flux like the rty and fhir intermediate representations. Akin to rustc_middle . flux-refineck: Implementation of refinement type checking. flux-syntax: Definition of the surface syntax AST and parser. flux-tests: Flux regression tests.","breadcrumbs":"Develop » Architecture » Crates","id":"32","title":"Crates"},"33":{"body":"Flux has several intermediate representations (IR) for types. They represent a refined version of an equivalent type in some rustc IR. We have picked a distinct verb to refer to the process of going between these different representations to make it easier to refer to them. The following image summarizes all the IRs and the process for going between them. IRs diagram","breadcrumbs":"Develop » Architecture » Intermediate Representations","id":"33","title":"Intermediate Representations"},"34":{"body":"The surface IR represents source level Flux annotations. It corresponds to the rustc_ast data structures in rustc. The definition as well as the parser is located in the flux-syntax crate.","breadcrumbs":"Develop » Architecture » Surface","id":"34","title":"Surface"},"35":{"body":"The Flux High-Level Intermediate Representation (fhir) is a refined version of rustc's hir . The definition is located in the flux_middle crate inside the fhir module. The process of going from surface to fhir is called desugaring , and it is implemented in the flux-desugar crate.","breadcrumbs":"Develop » Architecture » Fhir","id":"35","title":"Fhir"},"36":{"body":"The definition in the flux_middle::rty module correspond to a refined version of the main rustc representation for types defined in rustc_middle::ty . The process of going from fhir to rty is called conversion , and it is implemented in the flux_fhir_analysis::conv module.","breadcrumbs":"Develop » Architecture » Rty","id":"36","title":"Rty"},"37":{"body":"The definition in the flux_middle::rustc module correspond to simplified version of data structures in rustc. They can be understood as the currently supported subset of Rust. The process of going from a definition in rustc_middle into flux_middle::rustc is called lowering and it is implemented in flux_middle::rustc::lowering.","breadcrumbs":"Develop » Architecture » Simplified Rustc","id":"37","title":"Simplified Rustc"},"38":{"body":"Besides the different translation between Flux intermediate representations, there are two ways to get a refined version from a rust type. The process of going from a type in hir into a type in fhir is called lifting , and it is implemented in flux_middle::fhir::lift. The process for going from a type in flux_middle::rustc::ty into a flux_middle::rty is called refining , and it is implemented flux_middle::rty::refining.","breadcrumbs":"Develop » Architecture » Lifting and Refining","id":"38","title":"Lifting and Refining"},"39":{"body":"Online demo Types bring order to code. For example, if a variable i:usize then we know i is a number that can be used to index a vector. Similarly, if v:vec<&str> then we can be sure that v is a collection of strings which may be indexed but of course, not used as an index. However, by itself usize doesn't tell us how big or small the number and hence the programmer must still rely on their own wits, a lot of tests, and a dash of optimism, to ensure that all the different bits fit properly at run-time. Refinements are a promising new way to extend type checkers with logical constraints that specify additional correctness requirements that can be verified by the compiler, thereby entirely eliminating various classes of run-time problems. We're excited to introduce Flux , a refinement type checker plugin that brings this technology to Rust.","breadcrumbs":"Introducing Flux » Introducing Flux","id":"39","title":"Introducing Flux"},"4":{"body":"You can run flux on a single file or entire crate.","breadcrumbs":"Run » Running Flux","id":"4","title":"Running Flux"},"40":{"body":"The most basic form of refinement type in flux is a type that is indexed by a logical value. For example Type Meaning i32[10] The (singleton) set of i32 values equal to 10 bool[true] The (singleton) set of bool values equal to true","breadcrumbs":"Introducing Flux » Indexed Types","id":"40","title":"Indexed Types"},"41":{"body":"We can already start using these indexed types to start writing (and checking) code. For example we can write the following specification which says that the value returned by mk_ten must in fact be 10 #[flux::sig(fn() -> i32[10])]\npub fn mk_ten() -> i32 { 5 + 4\n} but when you compile it, flux will say error[FLUX]: postcondition might not hold --> src/basics.rs:7:5 |\n7 | 5 + 4 | ^^^^^ The error says that that the postcondition might not hold which means that the output produced by mk_ten may not in fact be an i32[10] as indeed, in this case, the result is 9! You can eliminate the error by replacing the body with 5 + 5 or just 10.","breadcrumbs":"Introducing Flux » Post-Conditions","id":"41","title":"Post-Conditions"},"42":{"body":"Here's a second example that shows how you can use an index to restrict the space of inputs that a function expects. #[flux::sig(fn (b:bool[true]))]\npub fn assert(b:bool) { if !b { panic!(\"assertion failed\") }\n} Here, the refined specification for assert says that you can only call it with true as the input. So if you write fn test(){ assert(2 + 2 == 4); assert(2 + 2 == 5); // fails to type check\n} then flux will complain that error[FLUX]: precondition might not hold --> src/basics.rs:12:5 |\n12 | assert(2 + 2 == 5); // fails to type check | ^^^^^^^^^^^^^^^^^^ meaning that the call to assert fails to establish that the input is indeed true (as of course, in this case, it is not!)","breadcrumbs":"Introducing Flux » Pre-Conditions","id":"42","title":"Pre-Conditions"},"43":{"body":"It's not terribly exciting to only talk about fixed values like 10 or true. To be more useful, flux lets you index types by refinement parameters . For example, you can write #[flux::sig(fn(n:i32) -> bool[0 < n])]\npub fn is_pos(n: i32) -> bool { if 0 < n { true } else { false }\n} Here, the type says that is_pos takes as input some i32 indexed by n returns as output the bool indexed by 0 < n in other words, the output is true exactly when 0 < n. We might use this function to check that: pub fn test_pos(n: i32) { let m = if is_pos(n) { n - 1 } else { 0 }; assert(0 <= m);\n}","breadcrumbs":"Introducing Flux » Index Parameters and Expressions","id":"43","title":"Index Parameters and Expressions"},"44":{"body":"Often we don't care about the exact value of a thing -- but just care about some properties that it may have. For example, we don't care that an i32 is equal to 5 or 10 or n but that it is non-negative. Type Meaning i32{v: 0 < v} The set of i32 values that positive i32{v: n <= v} The set of i32 values greater than or equal to n Flux allows such specifications by pairing plain Rust types with assertions [1] that constrain the value. For example, we can rewrite mk_10 with the output type i32{v:0 i32{v: 0 < v})]\npub fn mk_ten() -> i32 { 5 + 5\n} Similarly, you might specify that a function that computes the absolute value of an i32 with a type which says the result is non-negative and exceeds the input n. #[flux::sig(fn (n:i32) -> i32{v:0<=v && n<=v})]\npub fn abs(n: i32) -> i32 { if 0 <= n { n } else { 0 - n }\n} As a last example, you might write a function to compute the factorial of n #[flux::sig(fn (n:i32) -> i32{v:1<=v && n<=v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; let mut res = 1; while i < n { i += 1; res = res * i; } res\n} Here the specification says the input must be non-negative, and the output is at least as large as the input. Note, that unlike the previous examples, here we're actually changing the values of i and res. Can you guess why the copilot suggestions failed to pass flux, and what refinements were inferred for i and res in the fixed code at the end?","breadcrumbs":"Introducing Flux » Existential Types","id":"44","title":"Existential Types"},"45":{"body":"In this post, we saw how Flux lets you decorate basic Rust types like i32 and bool with indices and constraints that let you respectively refine the sets of values that inhabit that type, and specify contracts on functions that state pre-conditions on the sets of legal inputs that they accept, and post-conditions that describe the outputs that they produce. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates, without sacrificing thread- or memory-safety. Next time, we'll see how Flux melds refinements and Rust's ownership to make refinements happily coexist with imperative code. These are not arbitrary Rust expressions but a subset of expressions from logics that can be efficiently decided by SMT Solvers","breadcrumbs":"Introducing Flux » Summary","id":"45","title":"Summary"},"46":{"body":"Online demo Previously we saw how to refine basic Rust types like i32 and bool with indices and constraints to constrain the set of values described by those types. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates , via the clever type system that keeps an eye on the ownership of resources to make sure that aliasing and mutation cannot happen at the same time. Next, lets see how Flux melds refinements and Rust's ownership mechanisms to make refinements work in the imperative setting.","breadcrumbs":"Ownership in Flux » Ownership in Flux","id":"46","title":"Ownership in Flux"},"47":{"body":"Rust's most basic form of ownership is exclusive ownership, in which exactly one variable in a function has the right to mutate a memory location. When a location is exclusively owned, we can be sure that there are no other references to it, which lets flux update the type whenever the location is changed. For example, consider the program #[flux::sig(fn () -> i32[3])]\npub fn mk_three() -> i32 { let mut r = 0; // r: i32[0] r += 1; assert(r == 1); // r: i32[1] r += 1; assert(r == 2); // r: i32[2] r += 1; assert(r == 3); // r: i32[3] r\n} The variable r has different types at each point inside mk_three. It starts off as i32[0]. The first increment changes it to i32[1], then i32[2] and finally, the returned type i32[3]. This exclusive ownership mechanism is at work in the factorial example we signed off with previously #[flux::sig(fn (n:i32{0 <= n}) -> i32{v:n <= v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; // i: i32[0] let mut r = 1; // r: i32[1] while i < n { // i: i32{v:0<=v<=n} // r: i32{v:1<=v && i<=v} i += 1; r = r * i; } r\n} In the above code, i and r start off at 0 and 1 but then Rust infers (a story for another day) that inside the while-loop [1] i has type i32{v:0<=v && v < n} r has type i32{v:1<=v && i <= v} and hence, upon exit since i == n we get that the result is at least n.","breadcrumbs":"Ownership in Flux » Exclusive Ownership","id":"47","title":"Exclusive Ownership"},"48":{"body":"Exclusive ownership suffices for simple local updates like in factorial. However, for more complex data, functions must temporarily relinquish ownership to allow other functions to mutate the data. Rust cleverly allows this via the notion of borrowing using two kinds of references that give callees temporary access to a memory location. The simplest kind of references are of the form &T which denote read-only access to a value of type T. For example, we might write abs to take a shared reference to an i32 #[flux::sig(fn (p: &i32[@n]) -> i32{v:0<=v && n<=v})]\npub fn abs(p: &i32) -> i32 { let n = *p; if 0 <= n { n } else { 0 - n }\n} Notice that the input type has changed: the function now Accepts p a reference to an i32 whose value is n as denoted by @n Returns an i32 that is non-negative and larger than n The @ marks the n as a refinement parameter whose value is automatically computed by flux during type checking. So, for example, Flux can check the below code by automatically determining that the refinement parameter at the call-site is 10. pub fn test_abs() { let z = 10; assert(0 <= abs(&z)) assert(10 <= abs(&z))\n}","breadcrumbs":"Ownership in Flux » Borrowing: Shared References","id":"48","title":"Borrowing: Shared References"},"49":{"body":"As an aside, we have secretly been using refinement parameters like @n all along. For example, Flux automatically desugars the signature fn(n:i32{0 <= n} -> ... that we wrote for factorial into fn ({i32[@n] : 0 <= n}) -> i32{v:n <= v} where @n is a refinement parameter that is implicitly determined from the rust parameter n:i32. However, explicit parameters are essential to name the value of what a reference points to. In abs the rust parameter p names the reference but the @n names the (input) value and lets us use it to provide more information about the output of abs. Flux is modular in that the only information it knows about the implementation of abs is the signature: for example if we remove the fact that the output exceeds n then Flux will reject the assertion 10 <= abs(&z).","breadcrumbs":"Ownership in Flux » Refinement Parameters","id":"49","title":"Refinement Parameters"},"5":{"body":"You can use rustc-flux as you would use rustc. For example, the following command checks the file test.rs. rustc-flux path/to/test.rs The flux binary accepts the same flags as rustc. You could for example check a file as a library instead of a binary like so rustc-flux --crate-type=lib path/to/test.rs","breadcrumbs":"Run » Running on a File: rustc-flux","id":"5","title":"Running on a File: rustc-flux"},"50":{"body":"References of type &mut T denote mutable references that can be used to (read and) write or update the contents of a T value. Crucially, Rust ensures that while there may be multiple read-only (shared) references to a location, there is at most one active writeable (mutable) reference at any point in time. Flux exploits the semantics of &mut T to treat T as an invariant of the underlying data. As an example, consider the following function that decrements the value of a mutable reference while ensuring the data is non-negative: #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { *p = *p - 1;\n} Flux will complain with the following message error[FLUX]: assignment might be unsafe --> src/basics.rs:13:9 |\n13 | *p = *p - 1; | ^^^^^^^^^^^ as in fact, we may be writing a negative value into *p if, for example, the old value was zero. We can fix this code by guarding the update with a test that ensures the original contents are in fact non-zero #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { let n = *p; if n != 0 { *p = n - 1; }\n} at which point Flux is happy to sign off on the code.","breadcrumbs":"Ownership in Flux » Borrowing: Mutable References","id":"50","title":"Borrowing: Mutable References"},"51":{"body":"Flux uses Rust's borrowing rules to track invariants even when there may be aliasing. As an example, consider the function #[flux::sig(fn (bool) -> i32{v:0 <= v})]\nfn test_alias(z: bool) -> i32 { let mut x = 1; // x: i32[1] let mut y = 2; // y: i32[2] let r = if z { &mut x } else { &mut y }; // r: &mut i32{v:0 <= v} decr(r); *r\n} The reference r could point to either x or y depending on the (unknown) value of the boolean z. Nevertheless, Flux determines that both references &mut x and &mut y point to values of the more general type i32{v:0<=v} and hence, infers r : &mut i32{v:0<=v} which allows us it to then call decr with the reference and guarantee the result (after decr) is still non-negative.","breadcrumbs":"Ownership in Flux » Aliased References","id":"51","title":"Aliased References"},"52":{"body":"In many situations, we want to lend a value to another function that actually changes the value's (refinement) type upon exit. For example, consider the following function to increment a reference to a non-negative i32 #[flux::sig(fn (p: &mut i32{v:0 <= v}))]\nfn incr(p: &mut i32) { *p += 1\n} Recall that Flux is modular in that the only information it has about incr is what is said in the signature. The signature for incr only says p remains non-negative: Flux does not know that incr actually increments the value of p. Hence, Flux fusses that the following assert may fail even though its patently obvious that it will succeed! To verify test_incr we need a signature for incr that says that its output is indeed one greater [2] than its input. Flux extends Rust with the notion of strong references of the form &strg T which refine Rust's &mut T to grant exclusive access to the underlying T. Crucially, strong references also let us specify how the type is updated when the function exits [3] . Thus, we can use strong references to type incr as #[flux::sig(fn(p: &strg i32[@n]) ensures p:i32[n+1])]\nfn incr(p: &mut i32) { *p += 1\n} The Flux signature refines the plain Rust one to specify that p is a strong reference to an i32, the input type of *p is i32[n], and the output type of *p is i32[n+1]. With this specification, Flux merrily checks test_incr, by determining that the refinement parameter @n is 10 and hence, that upon return x: i32[11].","breadcrumbs":"Ownership in Flux » Borrowing: Strong References","id":"52","title":"Borrowing: Strong References"},"53":{"body":"To sum up, Flux exploits Rust's ownership mechanisms to track properties of shared (&T) and mutable (&mut T) references, and additionally adds a strong (&strg T) reference -- a special case of &mut -- to support the cases where the type itself is changed by a call. Next, we'll see how refinements and ownership yield a simple refined API for vectors that lets Flux check bounds safety at compile time... For those familiar with the term, these types are loop invariants [2] : Setting aside the issue of overflows for now [3] : Thereby allowing so-called strong updates in the type specifications","breadcrumbs":"Ownership in Flux » Summary","id":"53","title":"Summary"},"54":{"body":"Online demo While rustc has a keen eye for spotting nasty bugs at compile time, it is not omniscient. We've all groaned in dismay at seeing deployed code crash with messages like panicked at 'index out of bounds: the len is ... but the index is ...' Next, lets see how flux's refinement and ownership mechanisms let us write a refined vector API whose types track vector sizes and ensure --- at compile time --- that vector accesses cannot fail at runtime.","breadcrumbs":"Refined Vectors » Refined Vectors","id":"54","title":"Refined Vectors"},"55":{"body":"To begin with, we will defined a refined vector type which is simply a wrapper around the standard Vec type #[flux::refined_by(len: int)]\npub struct RVec { inner: Vec,\n} The #[flux::refined_by(len: int)] attribute tells flux that the type RVec struct is indexed by a len refinement which tracks the size of the underlying vector, just like the indices for i32 and bool tracked the actual value of the underlying integer or boolean ). The idea is that the type RVec[10] represents a vector of i32 size 10, and RVec{v:0 < v} represents a non-empty vector of bool, and RVec[n]>[m] represents a vector of vectors of f32 of size m and each of whose elements is a vector of size n.","breadcrumbs":"Refined Vectors » Refining Vectors to Track their Size","id":"55","title":"Refining Vectors to Track their Size"},"56":{"body":"Now that we can talk about the size of a vector, lets build up an API for creating and manipulating vectors. I suppose one must start with nothing: an empty vector. impl RVec { #[flux::trusted] #[flux::sig(fn() -> RVec[0])] pub fn new() -> Self { Self { inner: Vec::new() } }\n} The above implements RVec::new as a wrapper around Vec::new. The #[flux::trusted] attribute tells Flux there is nothing to \"check\" here, as we are defining the API itself and trusting that the implementation (using vec is correct). However, the signature says that callers of the RVec::new get back a vector indexed with 0 i.e. an empty vector.","breadcrumbs":"Refined Vectors » Creating Vectors","id":"56","title":"Creating Vectors"},"57":{"body":"An empty vector is a rather desolate thing. To be of any use, we need to be able to push values into the container, like so #[flux::trusted]\n#[flux::sig(fn(self: &strg RVec[@n], T) ensures self: RVec[n+1])]\npub fn push(&mut self, item: T) { self.inner.push(item);\n} The refined type for push says that it takes a strong reference (self) --- where strg means the refined type may be changed by the function --- to an RVec of size n and a value T and upon exit, the size of self is increased by 1.","breadcrumbs":"Refined Vectors » Pushing Values","id":"57","title":"Pushing Values"},"58":{"body":"Not much point stuffing things into a vector if we can't get them out again. For that, we might implement a pop method that returns the last element of the vector. Aha, but what if the vector is empty? You could return an Option or since we're tracking sizes, we could require that pop only be called with non-empty vectors. #[flux::trusted]\n#[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T ensures self: RVec[n-1])]\npub fn pop(&mut self) -> T { self.inner.pop().unwrap()\n}","breadcrumbs":"Refined Vectors » Popping Values","id":"58","title":"Popping Values"},"59":{"body":"Now already flux can start checking some code, for example if you push two elements, then you can pop twice, but flux will reject the third pop at compile-time In fact, the error message from flux will point to exact condition that does not hold error[FLUX]: precondition might not hold --> src/vectors.rs:24:5 |\n24 | v.pop(); | ^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:78:47 |\n78 | #[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T | ^^^^^","breadcrumbs":"Refined Vectors » Using the API","id":"59","title":"Using the API"},"6":{"body":"Flux is integrated with cargo and can be invoked in a package as follows: cargo flux By default, Flux won't verify a package unless it's explicitly enabled in the manifest. To do so add the following to Cargo.toml: [package.metadata.flux]\nenabled = true","breadcrumbs":"Run » Running on a package: cargo-flux","id":"6","title":"Running on a package: cargo-flux"},"60":{"body":"Perhaps we should peek at the size of the vector to make sure its not empty before we pop it. We can do that with a len method whose type says that the returned usize is, in fact, the size of the input vector #[flux::trusted]\n#[flux::sig(fn(&RVec[@n]) -> usize[n])]\npub fn len(&self) -> usize { self.inner.len()\n} Now, flux \"knows\" that after two pushes, the size of the vector is 2 and after the two pops, the size is 0 again","breadcrumbs":"Refined Vectors » Querying the Size","id":"60","title":"Querying the Size"},"61":{"body":"Of course, vectors are not just stacks , they also allow random access to their elements which is where those pesky panics occur, and where the refined vector API gets rather useful. Since we're tracking sizes, we can require that the method to get an element only be called with a valid index that is between 0 and the vector's size #[flux::sig(fn(&RVec[@n], i: usize{i < n}) -> &T)]\npub fn get(&self, i: usize) -> &T { &self.inner[i]\n} #[flux::sig(fn(&mut RVec[@n], i: usize{i < n}) -> &mut T)]\npub fn get_mut(&mut self, i: usize) -> &mut T { &mut self.inner[i]\n} With these refined get methods, flux can now spot the ``off-by-one'' error in the following code and accepts the fix [1] Its a bit gross to use get and get_mut directly, so instead we implement the Index and IndexMut traits for RVec which allows us to use the [] operator to access elements impl std::ops::Index for RVec { type Output = T; #[flux::sig(fn(&RVec[@n], i:usize{i < n}) -> &T)] fn index(&self, index: usize) -> &T { self.get(index) }\n} impl std::ops::IndexMut for RVec { #[flux::sig(fn(&mut RVec[@n], i:usize{i < n}) -> &mut T)] fn index_mut(&mut self, index: usize) -> &mut T { self.get_mut(index) }\n} And now the above vec_sum example looks a little nicer","breadcrumbs":"Refined Vectors » Random Access","id":"61","title":"Random Access"},"62":{"body":"Lets put the whole API to work in this \"memoized\" version of the fibonacci function which uses a vector to store the results of previous calls pub fn fib(n: usize) -> i32 { let mut r = RVec::new(); let mut i = 0; while i < n { if i == 0 { r.push(0); } else if i == 1 { r.push(1); } else { let a = r[i - 1]; let b = r[i - 2]; r.push(a + b); } i += 1; } r.pop()\n} Oops, flux is not happy with the call to pop at the end of the function which returns the last value as the result. error[FLUX]: precondition might not hold --> src/vectors.rs:40:5 |\n40 | r.pop() | ^^^^^^^ Flux complains that the vector may be empty and so the pop call may fail ... but why? Can you spot the problem? Indeed, we missed a \"corner\" case -- when n is 0 we skip the loop and so the vector is empty! Once we add a test for that, flux is happy.","breadcrumbs":"Refined Vectors » Memoization","id":"62","title":"Memoization"},"63":{"body":"As a last example, lets look at a simplified version of the binary_search method from std::vec , into which I've snuck a tiny little bug pub fn binary_search(vec: &RVec, x: i32) -> Result { let mut size = vec.len(); let mut left = 0; let mut right = size; while left <= right { let mid = left + size / 2; let val = vec[mid]; if val < x { left = mid + 1; } else if x < val { right = mid; } else { return Ok(mid); } size = right - left; } Err(left)\n} Flux complains in two places error[FLUX]: precondition might not hold --> src/vectors.rs:152:19 |\n152 | let val = vec[mid]; | ^^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:189:44 |\n189 | #[flux::sig(fn(&RVec[@n], usize{v : v < n}) -> &T)] | ^^^^^ error[FLUX]: arithmetic operation may overflow --> src/vectors.rs:160:9 |\n160 | size = right - left; | ^^^^^^^^^^^^^^^^^^^ The vector access may be unsafe as mid could be out of bounds! The size variable may underflow as left may exceed right! Can you the spot off-by-one and figure out a fix?","breadcrumbs":"Refined Vectors » Binary Search","id":"63","title":"Binary Search"},"64":{"body":"So, we saw how Flux's index and constraint mechanisms combine with Rust's ownership to let us write a refined vector API that ensures the safety of all accesses at compile time. Next time, we'll see how these mechanisms are compositional in that we can use standard type machinery to build up compound structures and APIs from simple ones. Why not use an iterator? We'll get there in due course!","breadcrumbs":"Refined Vectors » Summary","id":"64","title":"Summary"},"65":{"body":"Flux is a research project described in the paper","breadcrumbs":"About » About Flux","id":"65","title":"About Flux"},"66":{"body":"Flux is being developed by Nico Lehmann , Adam Geller Cole Kurashige Gilles Barthe Niki Vazou Ranjit Jhala","breadcrumbs":"About » Team","id":"66","title":"Team"},"67":{"body":"Flux is open-source and available here","breadcrumbs":"About » Code","id":"67","title":"Code"},"68":{"body":"This work was supported by the National Science Foundation, European Research Council, and by generous gifts from Microsoft Research.","breadcrumbs":"About » Thanks","id":"68","title":"Thanks"},"69":{"body":"This is a prototype! Use at your own risk. Everything could break and it will break.","breadcrumbs":"About » Limitations","id":"69","title":"Limitations"},"7":{"body":"The following example declares a function inc that returns an integer greater than the input. We use the nightly feature register_tool to register the flux tool in order to add refinement annotations to functions. #[flux::sig(fn(x: i32) -> i32{v: x < v})]\npub fn inc(x: i32) -> i32 { x - 1\n} You can save the above snippet in say test0.rs and then run rustc-flux --crate-type=lib path/to/test0.rs you should see in your output error[FLUX]: postcondition might not hold --> test0.rs:3:5 |\n3 | x - 1 | ^^^^^ as indeed x - 1 is not greater than x as required by the output refinement i32{v: x < v}. If you fix the error by replacing x - 1 with x + 1, you should get no errors in the output (the output may be empty, but in this case no output is a good thing). Read these chapters to learn more about what you specify and verify with flux.","breadcrumbs":"Run » A tiny example","id":"7","title":"A tiny example"},"8":{"body":"The flux-driver binary is a rustc driver (similar to how clippy works) meaning it uses rustc as a library to \"drive\" compilation performing additional analysis along the way. Running the binary requires dynamically linking a correct version of librustc. Thus, to avoid the hassle you should never execute it directly. Instead, use rustc-flux or cargo-flux.","breadcrumbs":"Run » A note about the flux-driver binary","id":"8","title":"A note about the flux-driver binary"},"9":{"body":"This section assumes you have installed flux, cargo-flux, and rustc-flux.","breadcrumbs":"Run » Editor Support","id":"9","title":"Editor Support"}},"length":70,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":2,"docs":{"32":{"tf":1.0},"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.0},"8":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.1622776601683795},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.0},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":3.1622776601683795},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"26":{"tf":2.449489742783178},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.449489742783178},"28":{"tf":2.8284271247461903},"29":{"tf":1.4142135623730951},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":5.477225575051661},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.3166247903554},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":9,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":2,"docs":{"10":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.449489742783178},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.449489742783178},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":2.0},"48":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"60":{"tf":1.0}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"51":{"tf":2.0},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":30,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.4641016151377544},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":14,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":12,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":5,"docs":{"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":3.872983346207417},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":2.8284271247461903},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":4.898979485566356},"26":{"tf":2.449489742783178},"28":{"tf":1.0},"32":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":12,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":7,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.449489742783178},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":2,"docs":{"32":{"tf":1.0},"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.3166247903554},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":16,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"8":{"tf":2.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.23606797749979},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.4142135623730951}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.23606797749979},"20":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":3.3166247903554},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.23606797749979},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":2.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"28":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":5.477225575051661},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":2.0},"4":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"49":{"tf":2.0},"5":{"tf":2.449489742783178},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.4641016151377544},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":9,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":2,"docs":{"10":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":3.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.449489742783178},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"12":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.8284271247461903},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":7,"docs":{"39":{"tf":2.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.23606797749979},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.6457513110645907},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":2.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"32":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"51":{"tf":2.23606797749979},"52":{"tf":2.6457513110645907},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":36,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.7320508075688772},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":19,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":2.0},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":12,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":4.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":3.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":5.0},"26":{"tf":2.6457513110645907},"28":{"tf":1.0},"32":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.0},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0990195135927845},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":13,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.449489742783178},"55":{"tf":3.1622776601683795},"56":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":7,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"title":{"root":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"14":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"5":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":11,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"40":{"tf":1.0},"43":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"60":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"37":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"19":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"57":{"tf":1.0},"58":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file +Object.assign(window.search, {"doc_urls":["index.html","guide/install.html#installing-flux","guide/install.html#requirements","guide/install.html#installing","guide/run.html#running-flux","guide/run.html#running-on-a-file-rustc-flux","guide/run.html#running-on-a-package-cargo-flux","guide/run.html#a-tiny-example","guide/run.html#a-note-about-the-flux-driver-binary","guide/run.html#editor-support","guide/run.html#rust-analyzer-in-vscode","guide/run.html#configuration","guide/run.html#environment-variables","guide/run.html#config-file","guide/run.html#crate-config","guide/run.html#query-caching","guide/specs.html#flux-specification-guide","guide/specs.html#refinement-types","guide/specs.html#argument-syntax","guide/specs.html#extern-specs","guide/specs.html#import-the-procedural-macros","guide/specs.html#extern-functions","guide/specs.html#extern-structs-and-impls","guide/specs.html#grammar-of-refinements","dev/develop.html#developers-guide","dev/develop.html#regression-tests","dev/develop.html#testing-flux-on-a-file","dev/develop.html#reporting-locations-where-errors-are-emitted","dev/develop.html#running-outside-the-project","dev/develop.html#profiling-flux","dev/develop.html#sample-output","dev/architecture.html#high-level-architecture","dev/architecture.html#crates","dev/architecture.html#intermediate-representations","dev/architecture.html#surface","dev/architecture.html#fhir","dev/architecture.html#rty","dev/architecture.html#simplified-rustc","dev/architecture.html#lifting-and-refining","blog/01-introducing-flux.html#introducing-flux","blog/01-introducing-flux.html#indexed-types","blog/01-introducing-flux.html#post-conditions","blog/01-introducing-flux.html#pre-conditions","blog/01-introducing-flux.html#index-parameters-and-expressions","blog/01-introducing-flux.html#existential-types","blog/01-introducing-flux.html#summary","blog/02-ownership.html#ownership-in-flux","blog/02-ownership.html#exclusive-ownership","blog/02-ownership.html#borrowing-shared-references","blog/02-ownership.html#refinement-parameters","blog/02-ownership.html#borrowing-mutable-references","blog/02-ownership.html#aliased-references","blog/02-ownership.html#borrowing-strong-references","blog/02-ownership.html#summary","blog/03-vectors.html#refined-vectors","blog/03-vectors.html#refining-vectors-to-track-their-size","blog/03-vectors.html#creating-vectors","blog/03-vectors.html#pushing-values","blog/03-vectors.html#popping-values","blog/03-vectors.html#using-the-api","blog/03-vectors.html#querying-the-size","blog/03-vectors.html#random-access","blog/03-vectors.html#memoization","blog/03-vectors.html#binary-search","blog/03-vectors.html#summary","about.html#about-flux","about.html#team","about.html#code","about.html#thanks","about.html#limitations"],"index":{"documentStore":{"docInfo":{"0":{"body":25,"breadcrumbs":1,"title":1},"1":{"body":0,"breadcrumbs":3,"title":2},"10":{"body":26,"breadcrumbs":4,"title":3},"11":{"body":0,"breadcrumbs":2,"title":1},"12":{"body":117,"breadcrumbs":3,"title":2},"13":{"body":68,"breadcrumbs":3,"title":2},"14":{"body":36,"breadcrumbs":3,"title":2},"15":{"body":23,"breadcrumbs":3,"title":2},"16":{"body":5,"breadcrumbs":4,"title":3},"17":{"body":209,"breadcrumbs":3,"title":2},"18":{"body":77,"breadcrumbs":3,"title":2},"19":{"body":41,"breadcrumbs":3,"title":2},"2":{"body":10,"breadcrumbs":2,"title":1},"20":{"body":38,"breadcrumbs":4,"title":3},"21":{"body":131,"breadcrumbs":3,"title":2},"22":{"body":214,"breadcrumbs":4,"title":3},"23":{"body":61,"breadcrumbs":3,"title":2},"24":{"body":0,"breadcrumbs":3,"title":2},"25":{"body":145,"breadcrumbs":3,"title":2},"26":{"body":103,"breadcrumbs":4,"title":3},"27":{"body":33,"breadcrumbs":5,"title":4},"28":{"body":82,"breadcrumbs":4,"title":3},"29":{"body":17,"breadcrumbs":3,"title":2},"3":{"body":77,"breadcrumbs":2,"title":1},"30":{"body":150,"breadcrumbs":3,"title":2},"31":{"body":18,"breadcrumbs":5,"title":3},"32":{"body":183,"breadcrumbs":3,"title":1},"33":{"body":34,"breadcrumbs":4,"title":2},"34":{"body":19,"breadcrumbs":3,"title":1},"35":{"body":27,"breadcrumbs":3,"title":1},"36":{"body":21,"breadcrumbs":3,"title":1},"37":{"body":23,"breadcrumbs":4,"title":2},"38":{"body":32,"breadcrumbs":4,"title":2},"39":{"body":81,"breadcrumbs":4,"title":2},"4":{"body":6,"breadcrumbs":3,"title":2},"40":{"body":26,"breadcrumbs":4,"title":2},"41":{"body":55,"breadcrumbs":4,"title":2},"42":{"body":61,"breadcrumbs":4,"title":2},"43":{"body":64,"breadcrumbs":5,"title":3},"44":{"body":154,"breadcrumbs":4,"title":2},"45":{"body":72,"breadcrumbs":3,"title":1},"46":{"body":56,"breadcrumbs":4,"title":2},"47":{"body":141,"breadcrumbs":4,"title":2},"48":{"body":123,"breadcrumbs":5,"title":3},"49":{"body":72,"breadcrumbs":4,"title":2},"5":{"body":31,"breadcrumbs":5,"title":4},"50":{"body":116,"breadcrumbs":5,"title":3},"51":{"body":82,"breadcrumbs":4,"title":2},"52":{"body":153,"breadcrumbs":5,"title":3},"53":{"body":67,"breadcrumbs":3,"title":1},"54":{"body":48,"breadcrumbs":4,"title":2},"55":{"body":70,"breadcrumbs":6,"title":4},"56":{"body":60,"breadcrumbs":4,"title":2},"57":{"body":48,"breadcrumbs":4,"title":2},"58":{"body":46,"breadcrumbs":4,"title":2},"59":{"body":50,"breadcrumbs":4,"title":2},"6":{"body":24,"breadcrumbs":5,"title":4},"60":{"body":40,"breadcrumbs":4,"title":2},"61":{"body":122,"breadcrumbs":4,"title":2},"62":{"body":80,"breadcrumbs":3,"title":1},"63":{"body":108,"breadcrumbs":4,"title":2},"64":{"body":39,"breadcrumbs":3,"title":1},"65":{"body":5,"breadcrumbs":1,"title":1},"66":{"body":15,"breadcrumbs":1,"title":1},"67":{"body":5,"breadcrumbs":1,"title":1},"68":{"body":12,"breadcrumbs":1,"title":1},"69":{"body":6,"breadcrumbs":1,"title":1},"7":{"body":85,"breadcrumbs":3,"title":2},"8":{"body":39,"breadcrumbs":5,"title":4},"9":{"body":8,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"Flux is a refinement type checker for Rust that lets you specify a range of correctness properties and have them be verified at compile time. See the examples -- listed in the summary on the left -- to learn about Refinement types and Rust. You can try it online here .","breadcrumbs":"Introduction","id":"0","title":"Introduction"},"1":{"body":"","breadcrumbs":"Install » Installing Flux","id":"1","title":"Installing Flux"},"10":{"body":"Add this to the workspace settings i.e. .vscode/settings.json { \"rust-analyzer.check.overrideCommand\": [ \"cargo\", \"flux\", \"--workspace\", \"--message-format=json-diagnostic-rendered-ansi\" ]\n} Note: Make sure to edit the paths in the above snippet to point to the correct locations on your machine.","breadcrumbs":"Run » Rust-Analyzer in VSCode","id":"10","title":"Rust-Analyzer in VSCode"},"11":{"body":"","breadcrumbs":"Run » Configuration","id":"11","title":"Configuration"},"12":{"body":"You can set various env variables to customize the behavior of flux. FLUX_CONFIG tells flux where to find a config file for these settings. By default, flux searches its directory for a flux.toml or .flux.toml. FLUX_SYSROOT tells cargo-flux and rustc-flux where to find the flux-driver binary. Defaults to the default installation location in ~/.flux. FLUX_LOG_DIR=path/to/log/ sets the directory where constraints, timing and cache are saved. Defaults to ./log/. FLUX_DUMP_CONSTRAINT=1 tell flux to dump constraints generated for each function. FLUX_DUMP_CHECKER_TRACE=1 saves the checker's trace (useful for debugging!) FLUX_DUMP_TIMINGS=1 saves the profile information FLUX_DUMP_MIR=1 saves the low-level MIR for each analyzed function FLUX_POINTER_WIDTH=N the size of (either 32 or 64), used to determine if an integer cast is lossy (default 64). FLUX_CHECK_DEF=name only checks definitions containing name as a substring FLUX_CACHE=1\" switches on query caching and saves the cache in FLUX_CACHE_FILE FLUX_CACHE_FILE=file.json customizes the cache file, default FLUX_LOG_DIR/cache.json FLUX_CHECK_OVERFLOW=1 checks for over and underflow on arithmetic integer operations, default 0. When set to 0, it still checks for underflow on unsigned integer subtraction.","breadcrumbs":"Run » Environment Variables","id":"12","title":"Environment Variables"},"13":{"body":"The config file is a .toml file that contains on each line the lowercase name of a flux command line flag without the FLUX_ prefix. Set environment variables take priority over the config file. The config file should be in the project root. For example, suppose your project root contains the following flux.toml. log_dir = \"./test\"\ndump_timings = true\ndump_mir = true\ncache = true and you run in the project root FLUX_DUMP_MIR=0 cargo-flux check then flux will create the directory ./test/ and write ./test/timings, a file containing profiling information. It will not dump the MIR because that setting was overridden by setting the environment variable FLUX_DUMP_MIR=0.","breadcrumbs":"Run » Config file","id":"13","title":"Config file"},"14":{"body":"Some flags can be configured on a per-crate basis using the custom inner attribute #![flux::cfg]. This annotation relies on the unstable custom inner attributes feature. To be able to use with a non-nightly compiler you have to put it under a cfg_attr. For example, to enable overflow checking: #![cfg_attr(flux, flux::cfg(check_overflow = true))] The only flag supported now is overflow checking.","breadcrumbs":"Run » Crate Config","id":"14","title":"Crate Config"},"15":{"body":"FLUX_CACHE=1 persistently caches the safe fixpoint queries for each DefId in FLUX_LOG_DIR/FLUX_CACHE_FILE, and on subsequent runs, skips queries that are already in the cache, which considerably speeds up cargo-flux check on an entire crate.","breadcrumbs":"Run » Query Caching","id":"15","title":"Query Caching"},"16":{"body":"This is a WIP guide to writing specifications in flux.","breadcrumbs":"Specs » Flux Specification Guide","id":"16","title":"Flux Specification Guide"},"17":{"body":"Indexed Type : An indexed type B[r] is composed of a base Rust type B and a refinement index r. The meaning of the index depends on the type. Some examples are i32[n]: denotes the (singleton) set of i32 values equal to n. List[n]: values of type List of length n. Refinement parameter : Function signatures can be parametric on refinement variables. Refinement parameters are declared using the @n syntax. For example, the following signature: fn(i32[@n]) -> i32[n + 1] binds n over the entire scope of the function to specify that it takes an i32 equal to n and returns an i32 equal to n + 1. This is analogous to languages like Haskell where a lower case letter can be used to quantify over a type, e.g., the type a -> a in Haskell is polymorphic on the type a which is bound for the scope of the entire function type. Existential Type : An existential type B{v: r(v)} is composed of a base type B, a refinement variable v and a refinement predicate r on v. Intuitively, a Rust value x has type B{v: r(v)} if there exists a refinement value a such that r(a) holds and x has type B[x]. i32{v: v > 0}: set of positive i32 values. List{v: v > 0}: set of non-empty lists. Constraint Type : A constraint type has the form {T | r} where T is any type (not just a base type). Intuitively, a value has type {T | r} if it has type T and also r holds. They can be used to constraint a refinement parameter. For example, the following signature constraint the refinement parameter n to be less than n. fn({i32[@n] | n < 10}) -> i32[n + 1] Constraint types serve a similar role as existentials as they can also be used to constraint some refinement value with a predicate, but an existential type can only be used to constraint refinement variable that it bound locally, in contrast constraint types can be used to constraint a \"non-local\" parameter. This can be seen in the example above where the parameter n cannot be bound locally because it has to be used in the return type.","breadcrumbs":"Specs » Refinement Types","id":"17","title":"Refinement Types"},"18":{"body":"The @n syntax used to declare refinements parameters can be hard to read sometimes. Flux also supports a syntax that let you bind refinement parameters using colons similar to the syntax used to declare arguments in a function. We call this argument syntax . This syntax desugars to one of the refinements forms discussed above. For example, the following signature fn(x: i32, y: i32) -> i32[x + y] desugars to fn(i32[@x], i32[@y]) -> i32[x + y] It is also possible to attach some constraint to the parameters when using argument syntax. For example, to specify that y must be greater than x using argument syntax we can write: fn(x: i32, y: i32{x > y}) -> i32[x + y] This will desugar to: fn(i32[@x], {i32[@y] | x > y}) -> i32[x + y]","breadcrumbs":"Specs » Argument Syntax","id":"18","title":"Argument Syntax"},"19":{"body":"Sometimes you may want to refine a struct or function that outside your code. We refer to such a specification as an \"extern spec,\" which is short for \"external specification.\" Flux right now has rudimentary support for extern specs: they are supported for functions, impls, and structs. Impls are only supported for structs and if you have multiple impls for a struct (such as &[T] and [T]), those may conflict. Structs only support opaque refinements.","breadcrumbs":"Specs » Extern specs","id":"19","title":"Extern specs"},"2":{"body":"rustup liquid-fixpoint z3 Be sure that the liquid-fixpoint and z3 executables are in your $PATH.","breadcrumbs":"Install » Requirements","id":"2","title":"Requirements"},"20":{"body":"In order to use an extern spec you need to add a dependency on flux_rs . Right now this needs to be done as a local dependency since it is not published. Below is an example of how you can include it, although the version may be different. [dependencies]\nflux-rs = { path = \"path-to-flux/flux/flux-rs\", version = \"0.1.0\" } Then in your code you will need to include the extern_spec attribute macro. use flux_rs::extern_spec;","breadcrumbs":"Specs » Import the procedural macros","id":"20","title":"Import the procedural macros"},"21":{"body":"An example of refining an extern function can be found here . To define an extern spec on a function, you need to do three things, which happen to correspond to each of the below lines. #[extern_spec(std::mem)]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\nfn swap(a: &mut i32, b: &mut i32); Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::mem. You can use this path to qualify the function. So in the above example, the function we are targeting has the full path of std::mem::swap. Add a #[flux::sig(...)] attribute. This is required for any extern spec on a function. This signature behaves as if the #[flux::trusted] attribute was added, because we can't actually check the implementation. We just verify some simple things, like that the function arguments have compatible types. Write a function stub that matches the external function. If you do the above, you can use std::mem::swap as if it were refined by the above type. You shouldn't need to know the details, but here's how the macro works. It parses the std::mem into a module path and then transforms the function into #[flux::extern_spec]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\n#[allow(unused, dead_code)]\nfn __flux_extern_spec_swap(a: &mut i32, b: &mut i32) { std::mem::swap(a, b)\n} It does this to get information about the function std::mem::swap and its arguments (this turns out to be difficult to do without giving the compiler something to inspect and type check).","breadcrumbs":"Specs » Extern functions","id":"21","title":"Extern functions"},"22":{"body":"An example of refining an extern struct and impl can be found here . A simpler example just involving structs can be found here . The syntax for an extern spec on a struct is very similar to that for a function. Once again, each line in the example happens to correspond to a step. #[extern_spec(std::string)]\n#[flux::refined_by(len: int)]\nstruct String; Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::string. You can use this path to qualify the function. So in the above example, the struct we are targeting has the full path of std::string::String. Add a #[flux::refined_by(...)] attribute. This is required for any extern spec on a struct. Right now these attributes behave as if they were opaque (#[flux::opaque]), although we may support non-opaque extern structs. Write a stub for the extern struct. If you do the above, you can use std::string::String as if it were refined by an integer index. The syntax for an extern impl is a little different than that for functions or structs. #[extern_spec(std::string)]\nimpl String { #[flux::sig(fn() -> String[0])] fn new() -> String; #[flux::sig(fn(&String[@n]) -> usize[n])] fn len(s: &String) -> usize;\n} You still need to add the #[extern_spec] attribute, with the same optional argument of the path as above. You need to write out the impl block for the struct you want to refine. This struct does not need an extern spec, since by refining the impl you're only refining its methods. Write an extern spec for each function you wish to refine (this may be a subset). This is written just like a function extern spec with the caveat that the self parameter is not presently supported. So for example, instead of writing fn len(&self) -> usize;, you need to write fn len(s: &String) -> usize;. If you do the above, you can use the above methods ofstd::string::String as if they were refined. You shouldn't need to know the details, but here's how the above two macros expand. For structs: #[flux::extern_spec]\n#[allow(unused, dead_code)]\n#[flux::refined_by(len: int)]\nstruct __FluxExternSpecString(std::string::String); For impls (this was translated manually so there might be some bugs): #[allow(unused, dead_code)]\nstruct __FluxExternImplStructString; #[allow(unused, dead_code)]\nimpl __FluxExternImplStructString { #[flux::extern_spec] #[flux::sig(fn() -> String[0])] #[allow(unused, dead_code)] fn __flux_extern_spec_new() -> String { std::string::String::new::<>() } #[flux::extern_spec] #[flux::sig(fn(&String[@n]) -> usize[n])] #[allow(unused, dead_code)] fn __flux_extern_spec_len(s: &String) -> usize { std::string::String::len::<>(s) }\n}","breadcrumbs":"Specs » Extern structs and impls","id":"22","title":"Extern structs and impls"},"23":{"body":"r ::= n // numbers 1,2,3... | x // identifiers x,y,z... | x.f // index-field access | r + r // addition | r - r // subtraction | n * e // multiplication by constant | if r { r } else { r } // if-then-else | f(r...) // function application | true | false // booleans | r == r // equality | r != r // not equal | r < r // less than | r <= r // less than or equal | r > r // greater than | r >= r // greater than or equal | r || r // disjunction | r && r // conjunction | r => r // implication | !r // negation","breadcrumbs":"Specs » Grammar of Refinements","id":"23","title":"Grammar of Refinements"},"24":{"body":"","breadcrumbs":"Develop » Developer's Guide","id":"24","title":"Developer's Guide"},"25":{"body":"You can run the various regression tests in the tests/pos and tests/neg directories using cargo xtask test This will build the flux binary and then run it against the entire test suite. You can optionally pass a filter to only run tests containing some substring. For example: $ cargo xtask test impl_trait Compiling xtask v0.1.0 (/path/to/flux/xtask) Finished dev [unoptimized + debuginfo] target(s) in 0.29s Running `target/debug/xtask test impl_trait`\n$ cargo build Finished dev [unoptimized + debuginfo] target(s) in 0.05s\n$ cargo test -p flux-tests -- --test-args impl_trait Compiling flux-tests v0.1.0 (/path/to/flux/flux-tests) Finished test [unoptimized + debuginfo] target(s) in 0.62s Running tests/compiletest.rs (target/debug/deps/compiletest-1241128f1f51caa4) running 5 tests\ntest [ui] pos/surface/impl_trait04.rs ... ok\ntest [ui] pos/surface/impl_trait03.rs ... ok\ntest [ui] pos/surface/impl_trait01.rs ... ok\ntest [ui] pos/surface/impl_trait00.rs ... ok\ntest [ui] pos/surface/impl_trait02.rs ... ok test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 191 filtered out; finished in 0.10s running 2 tests\ntest [compile-fail] neg/surface/impl_trait00.rs ... ok\ntest [compile-fail] neg/surface/impl_trait02.rs ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 207 filtered out; finished in 0.09s","breadcrumbs":"Develop » Regression Tests","id":"25","title":"Regression Tests"},"26":{"body":"When working on Flux, you may want to test your changes by running it against a test file. You can use cargo xtask run to run Flux on a single input file. The command will set appropriate flags to be able to use custom Flux attributes and macros, plus some extra flags useful for debugging. For example: $ cat test.rs\n#[flux::sig(fn(x: i32) -> i32[x + 1])]\nfn add1(x: i32) -> i32 { x + 1\n}\n$ cargo xtask run test.rs The command will use a super set of the flags passed when running regression tests. Thus, a common workflow is to identify a failing test and run it directly with cargo xtask run, or alternatively copy it to a different file. You may also find useful to create a directory in the root of the project and add it to .git/info/exclude . You can keep files there, outside of version control, and test Flux against them. I have a directory called attic/ where I keep a file named playground.rs. To run Flux on it, I do cargo xtask run attic/playground.rs.","breadcrumbs":"Develop » Testing Flux on a File","id":"26","title":"Testing Flux on a File"},"27":{"body":"When you use cargo xtask run you'll see that we report the location an error was emitted, e.g., error[FLUX]: refinement type error --> attic/playground.rs:4:5 |\n4 | 0 | ^ a postcondition cannot be proved\n-Ztrack-diagnostics: created at crates/flux-refineck/src/lib.rs:114:15 <------- this You can also pass -Ztrack-diagnostics=y to enable it if you are not using cargo xtask run","breadcrumbs":"Develop » Reporting locations where errors are emitted","id":"27","title":"Reporting locations where errors are emitted"},"28":{"body":"To run Flux in a package outside the flux repo you need to install the binaries globally. You can do that using cargo xtask install. If you are continuously testing new changes it could be annoying to do it each time. To deal with this, you can set the FLUX_SYSROOT environment variable to change the location where cargo-flux and rustc-flux load the flux-driver. You can set it globally to point to the target/debug directory inside your local copy of the repo. This way you won't have to run cargo xtask install after every change, and you can be sure you'll be using the latest local debug build. Just be aware that the rustc-flux and cargo-flux binaries are built for a specific toolchain, and you will get a dynamic linking error if the flux-driver was compiled with a different one. This is to say, you should at least run cargo xtask install every time after the toolchain is updated.","breadcrumbs":"Develop » Running outside the project","id":"28","title":"Running outside the project"},"29":{"body":"Set FLUX_DUMP_TIMINGS=true to have flux write timing diagnostics to ./log/timings. Right now this is extremely simple, it just provides some details for the spans under flux_typeck and flux_driver.","breadcrumbs":"Develop » Profiling Flux","id":"29","title":"Profiling Flux"},"3":{"body":"The only way to use flux is to build it from source. First you need to clone the repository git clone https://github.com/flux-rs/flux\ncd flux To build the source you need a nightly version of rustc. We pin the version using a toolchain file (more info here ). If you are using rustup, no special action is needed as it should install the correct rustc version and components based on the information on that file. Next, run the following to build and install flux binaries cargo xtask install This will install two binaries rustc-flux and cargo-flux in your cargo home. These two binaries should be used respectively to run flux on either a single file or on a project using cargo. The installation process will also copy some files to $HOME/.flux.","breadcrumbs":"Install » Installing","id":"3","title":"Installing"},"30":{"body":"Below is a sample output for an invocation of cargo-flux check that took 19 seconds. The missing 2 seconds approximately accounts for the time it takes for cargo check to run. Note that check_crate contains everything running under check_top, which is why the sum of the spans is greater than 19 seconds. check_top Checker::infer num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 2.62ms max: 24.12ms total time: 229.64ms Checker::check num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 5.24ms max: 159.91ms total time: 2028.47ms FixpointCtx::check num events: 205 min non-zero: 22.02ms 1st quartile: 26.21ms 2nd quartile: 28.31ms 3rd quartile: 40.37ms max: 1867.51ms total time: 9106.36ms\ntotal time: 11364.47ms check_crate Callbacks::check_wf num events: 1 min non-zero: 18.35ms 1st quartile: 18.87ms 2nd quartile: 18.87ms 3rd quartile: 18.87ms max: 18.87ms total time: 18.87ms Callbacks::check_crate num events: 1 min non-zero: 16986.93ms 1st quartile: 16995.32ms 2nd quartile: 16995.32ms 3rd quartile: 16995.32ms max: 16995.32ms total time: 16995.32ms\ntotal time: 17014.19ms","breadcrumbs":"Develop » Sample output","id":"30","title":"Sample output"},"31":{"body":"Flux is implemented as a compiler driver . We hook into the compiler by implementing the Callbacks trait. The implementation is located is in the flux-driver crate, and it is the main entry point to Flux.","breadcrumbs":"Develop » Architecture » High-level Architecture","id":"31","title":"High-level Architecture"},"32":{"body":"crates/flux-bin: Contains the cargo-flux and rustc-flux binaries used to launch the flux-driver. crates/flux-common: Common utility definitions used across all crates. crates/flux-config: Crate containing logic associated with global configuration flags that change the behavior of Flux, e.g, to enable or disable overflow checking. crates/flux-desugar: Implementation of name resolution and desugaring from Flux surface syntax into Flux high-level intermediate representation (fhir). This includes name resolution. crates/flux-driver: Main entry point to Flux. It contains the flux-driver binary and the implementation of the Callbacks trait. crates/flux-errors: Utility definitions for user facing error reporting. crates/flux-fhir-analysis: Implements the \"analyses\" performed in the fhir, most notably well-formedness checking and conversion from fhir into rty. crates/flux-fixpoint: Code to interact with the Liquid Fixpoint binary. crates/flux-macros: Procedural macros used internally to implement Flux. crates/flux-metadata: Logic for saving Flux crate metadata that can be used to import refined signatures from external crates. crates/flux-middle: This crate contains common type definitions that are used by the rest of Flux like the rty and fhir intermediate representations. Akin to rustc_middle . crates/flux-refineck: Implementation of refinement type checking. crates/flux-syntax: Definition of the surface syntax AST and parser. crates/flux-tests: Flux regression tests. lib/flux-attrs: Implementation of user facing procedural macros for annotating programs with Flux specs. lib/flux-rs: This is just a re-export of the macros implemented in flux-attrs. The intention is to eventually put Flux \"standard library\" here, i.e., a set of definitions that are useful when working with Flux.","breadcrumbs":"Develop » Architecture » Crates","id":"32","title":"Crates"},"33":{"body":"Flux has several intermediate representations (IR) for types. They represent a refined version of an equivalent type in some rustc IR. We have picked a distinct verb to refer to the process of going between these different representations to make it easier to refer to them. The following image summarizes all the IRs and the process for going between them. IRs diagram","breadcrumbs":"Develop » Architecture » Intermediate Representations","id":"33","title":"Intermediate Representations"},"34":{"body":"The surface IR represents source level Flux annotations. It corresponds to the rustc_ast data structures in rustc. The definition as well as the parser is located in the flux-syntax crate.","breadcrumbs":"Develop » Architecture » Surface","id":"34","title":"Surface"},"35":{"body":"The Flux High-Level Intermediate Representation (fhir) is a refined version of rustc's hir . The definition is located in the flux_middle crate inside the fhir module. The process of going from surface to fhir is called desugaring , and it is implemented in the flux-desugar crate.","breadcrumbs":"Develop » Architecture » Fhir","id":"35","title":"Fhir"},"36":{"body":"The definition in the flux_middle::rty module correspond to a refined version of the main rustc representation for types defined in rustc_middle::ty . The process of going from fhir to rty is called conversion , and it is implemented in the flux_fhir_analysis::conv module.","breadcrumbs":"Develop » Architecture » Rty","id":"36","title":"Rty"},"37":{"body":"The definition in the flux_middle::rustc module correspond to simplified version of data structures in rustc. They can be understood as the currently supported subset of Rust. The process of going from a definition in rustc_middle into flux_middle::rustc is called lowering and it is implemented in flux_middle::rustc::lowering.","breadcrumbs":"Develop » Architecture » Simplified Rustc","id":"37","title":"Simplified Rustc"},"38":{"body":"Besides the different translation between Flux intermediate representations, there are two ways to get a refined version from a rust type. The process of going from a type in hir into a type in fhir is called lifting , and it is implemented in flux_middle::fhir::lift. The process for going from a type in flux_middle::rustc::ty into a flux_middle::rty is called refining , and it is implemented flux_middle::rty::refining.","breadcrumbs":"Develop » Architecture » Lifting and Refining","id":"38","title":"Lifting and Refining"},"39":{"body":"Online demo Types bring order to code. For example, if a variable i:usize then we know i is a number that can be used to index a vector. Similarly, if v:vec<&str> then we can be sure that v is a collection of strings which may be indexed but of course, not used as an index. However, by itself usize doesn't tell us how big or small the number and hence the programmer must still rely on their own wits, a lot of tests, and a dash of optimism, to ensure that all the different bits fit properly at run-time. Refinements are a promising new way to extend type checkers with logical constraints that specify additional correctness requirements that can be verified by the compiler, thereby entirely eliminating various classes of run-time problems. We're excited to introduce Flux , a refinement type checker plugin that brings this technology to Rust.","breadcrumbs":"Introducing Flux » Introducing Flux","id":"39","title":"Introducing Flux"},"4":{"body":"You can run flux on a single file or entire crate.","breadcrumbs":"Run » Running Flux","id":"4","title":"Running Flux"},"40":{"body":"The most basic form of refinement type in flux is a type that is indexed by a logical value. For example Type Meaning i32[10] The (singleton) set of i32 values equal to 10 bool[true] The (singleton) set of bool values equal to true","breadcrumbs":"Introducing Flux » Indexed Types","id":"40","title":"Indexed Types"},"41":{"body":"We can already start using these indexed types to start writing (and checking) code. For example we can write the following specification which says that the value returned by mk_ten must in fact be 10 #[flux::sig(fn() -> i32[10])]\npub fn mk_ten() -> i32 { 5 + 4\n} but when you compile it, flux will say error[FLUX]: postcondition might not hold --> src/basics.rs:7:5 |\n7 | 5 + 4 | ^^^^^ The error says that that the postcondition might not hold which means that the output produced by mk_ten may not in fact be an i32[10] as indeed, in this case, the result is 9! You can eliminate the error by replacing the body with 5 + 5 or just 10.","breadcrumbs":"Introducing Flux » Post-Conditions","id":"41","title":"Post-Conditions"},"42":{"body":"Here's a second example that shows how you can use an index to restrict the space of inputs that a function expects. #[flux::sig(fn (b:bool[true]))]\npub fn assert(b:bool) { if !b { panic!(\"assertion failed\") }\n} Here, the refined specification for assert says that you can only call it with true as the input. So if you write fn test(){ assert(2 + 2 == 4); assert(2 + 2 == 5); // fails to type check\n} then flux will complain that error[FLUX]: precondition might not hold --> src/basics.rs:12:5 |\n12 | assert(2 + 2 == 5); // fails to type check | ^^^^^^^^^^^^^^^^^^ meaning that the call to assert fails to establish that the input is indeed true (as of course, in this case, it is not!)","breadcrumbs":"Introducing Flux » Pre-Conditions","id":"42","title":"Pre-Conditions"},"43":{"body":"It's not terribly exciting to only talk about fixed values like 10 or true. To be more useful, flux lets you index types by refinement parameters . For example, you can write #[flux::sig(fn(n:i32) -> bool[0 < n])]\npub fn is_pos(n: i32) -> bool { if 0 < n { true } else { false }\n} Here, the type says that is_pos takes as input some i32 indexed by n returns as output the bool indexed by 0 < n in other words, the output is true exactly when 0 < n. We might use this function to check that: pub fn test_pos(n: i32) { let m = if is_pos(n) { n - 1 } else { 0 }; assert(0 <= m);\n}","breadcrumbs":"Introducing Flux » Index Parameters and Expressions","id":"43","title":"Index Parameters and Expressions"},"44":{"body":"Often we don't care about the exact value of a thing -- but just care about some properties that it may have. For example, we don't care that an i32 is equal to 5 or 10 or n but that it is non-negative. Type Meaning i32{v: 0 < v} The set of i32 values that positive i32{v: n <= v} The set of i32 values greater than or equal to n Flux allows such specifications by pairing plain Rust types with assertions [1] that constrain the value. For example, we can rewrite mk_10 with the output type i32{v:0 i32{v: 0 < v})]\npub fn mk_ten() -> i32 { 5 + 5\n} Similarly, you might specify that a function that computes the absolute value of an i32 with a type which says the result is non-negative and exceeds the input n. #[flux::sig(fn (n:i32) -> i32{v:0<=v && n<=v})]\npub fn abs(n: i32) -> i32 { if 0 <= n { n } else { 0 - n }\n} As a last example, you might write a function to compute the factorial of n #[flux::sig(fn (n:i32) -> i32{v:1<=v && n<=v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; let mut res = 1; while i < n { i += 1; res = res * i; } res\n} Here the specification says the input must be non-negative, and the output is at least as large as the input. Note, that unlike the previous examples, here we're actually changing the values of i and res. Can you guess why the copilot suggestions failed to pass flux, and what refinements were inferred for i and res in the fixed code at the end?","breadcrumbs":"Introducing Flux » Existential Types","id":"44","title":"Existential Types"},"45":{"body":"In this post, we saw how Flux lets you decorate basic Rust types like i32 and bool with indices and constraints that let you respectively refine the sets of values that inhabit that type, and specify contracts on functions that state pre-conditions on the sets of legal inputs that they accept, and post-conditions that describe the outputs that they produce. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates, without sacrificing thread- or memory-safety. Next time, we'll see how Flux melds refinements and Rust's ownership to make refinements happily coexist with imperative code. These are not arbitrary Rust expressions but a subset of expressions from logics that can be efficiently decided by SMT Solvers","breadcrumbs":"Introducing Flux » Summary","id":"45","title":"Summary"},"46":{"body":"Online demo Previously we saw how to refine basic Rust types like i32 and bool with indices and constraints to constrain the set of values described by those types. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates , via the clever type system that keeps an eye on the ownership of resources to make sure that aliasing and mutation cannot happen at the same time. Next, lets see how Flux melds refinements and Rust's ownership mechanisms to make refinements work in the imperative setting.","breadcrumbs":"Ownership in Flux » Ownership in Flux","id":"46","title":"Ownership in Flux"},"47":{"body":"Rust's most basic form of ownership is exclusive ownership, in which exactly one variable in a function has the right to mutate a memory location. When a location is exclusively owned, we can be sure that there are no other references to it, which lets flux update the type whenever the location is changed. For example, consider the program #[flux::sig(fn () -> i32[3])]\npub fn mk_three() -> i32 { let mut r = 0; // r: i32[0] r += 1; assert(r == 1); // r: i32[1] r += 1; assert(r == 2); // r: i32[2] r += 1; assert(r == 3); // r: i32[3] r\n} The variable r has different types at each point inside mk_three. It starts off as i32[0]. The first increment changes it to i32[1], then i32[2] and finally, the returned type i32[3]. This exclusive ownership mechanism is at work in the factorial example we signed off with previously #[flux::sig(fn (n:i32{0 <= n}) -> i32{v:n <= v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; // i: i32[0] let mut r = 1; // r: i32[1] while i < n { // i: i32{v:0<=v<=n} // r: i32{v:1<=v && i<=v} i += 1; r = r * i; } r\n} In the above code, i and r start off at 0 and 1 but then Rust infers (a story for another day) that inside the while-loop [1] i has type i32{v:0<=v && v < n} r has type i32{v:1<=v && i <= v} and hence, upon exit since i == n we get that the result is at least n.","breadcrumbs":"Ownership in Flux » Exclusive Ownership","id":"47","title":"Exclusive Ownership"},"48":{"body":"Exclusive ownership suffices for simple local updates like in factorial. However, for more complex data, functions must temporarily relinquish ownership to allow other functions to mutate the data. Rust cleverly allows this via the notion of borrowing using two kinds of references that give callees temporary access to a memory location. The simplest kind of references are of the form &T which denote read-only access to a value of type T. For example, we might write abs to take a shared reference to an i32 #[flux::sig(fn (p: &i32[@n]) -> i32{v:0<=v && n<=v})]\npub fn abs(p: &i32) -> i32 { let n = *p; if 0 <= n { n } else { 0 - n }\n} Notice that the input type has changed: the function now Accepts p a reference to an i32 whose value is n as denoted by @n Returns an i32 that is non-negative and larger than n The @ marks the n as a refinement parameter whose value is automatically computed by flux during type checking. So, for example, Flux can check the below code by automatically determining that the refinement parameter at the call-site is 10. pub fn test_abs() { let z = 10; assert(0 <= abs(&z)) assert(10 <= abs(&z))\n}","breadcrumbs":"Ownership in Flux » Borrowing: Shared References","id":"48","title":"Borrowing: Shared References"},"49":{"body":"As an aside, we have secretly been using refinement parameters like @n all along. For example, Flux automatically desugars the signature fn(n:i32{0 <= n} -> ... that we wrote for factorial into fn ({i32[@n] : 0 <= n}) -> i32{v:n <= v} where @n is a refinement parameter that is implicitly determined from the rust parameter n:i32. However, explicit parameters are essential to name the value of what a reference points to. In abs the rust parameter p names the reference but the @n names the (input) value and lets us use it to provide more information about the output of abs. Flux is modular in that the only information it knows about the implementation of abs is the signature: for example if we remove the fact that the output exceeds n then Flux will reject the assertion 10 <= abs(&z).","breadcrumbs":"Ownership in Flux » Refinement Parameters","id":"49","title":"Refinement Parameters"},"5":{"body":"You can use rustc-flux as you would use rustc. For example, the following command checks the file test.rs. rustc-flux path/to/test.rs The flux binary accepts the same flags as rustc. You could for example check a file as a library instead of a binary like so rustc-flux --crate-type=lib path/to/test.rs","breadcrumbs":"Run » Running on a File: rustc-flux","id":"5","title":"Running on a File: rustc-flux"},"50":{"body":"References of type &mut T denote mutable references that can be used to (read and) write or update the contents of a T value. Crucially, Rust ensures that while there may be multiple read-only (shared) references to a location, there is at most one active writeable (mutable) reference at any point in time. Flux exploits the semantics of &mut T to treat T as an invariant of the underlying data. As an example, consider the following function that decrements the value of a mutable reference while ensuring the data is non-negative: #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { *p = *p - 1;\n} Flux will complain with the following message error[FLUX]: assignment might be unsafe --> src/basics.rs:13:9 |\n13 | *p = *p - 1; | ^^^^^^^^^^^ as in fact, we may be writing a negative value into *p if, for example, the old value was zero. We can fix this code by guarding the update with a test that ensures the original contents are in fact non-zero #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { let n = *p; if n != 0 { *p = n - 1; }\n} at which point Flux is happy to sign off on the code.","breadcrumbs":"Ownership in Flux » Borrowing: Mutable References","id":"50","title":"Borrowing: Mutable References"},"51":{"body":"Flux uses Rust's borrowing rules to track invariants even when there may be aliasing. As an example, consider the function #[flux::sig(fn (bool) -> i32{v:0 <= v})]\nfn test_alias(z: bool) -> i32 { let mut x = 1; // x: i32[1] let mut y = 2; // y: i32[2] let r = if z { &mut x } else { &mut y }; // r: &mut i32{v:0 <= v} decr(r); *r\n} The reference r could point to either x or y depending on the (unknown) value of the boolean z. Nevertheless, Flux determines that both references &mut x and &mut y point to values of the more general type i32{v:0<=v} and hence, infers r : &mut i32{v:0<=v} which allows us it to then call decr with the reference and guarantee the result (after decr) is still non-negative.","breadcrumbs":"Ownership in Flux » Aliased References","id":"51","title":"Aliased References"},"52":{"body":"In many situations, we want to lend a value to another function that actually changes the value's (refinement) type upon exit. For example, consider the following function to increment a reference to a non-negative i32 #[flux::sig(fn (p: &mut i32{v:0 <= v}))]\nfn incr(p: &mut i32) { *p += 1\n} Recall that Flux is modular in that the only information it has about incr is what is said in the signature. The signature for incr only says p remains non-negative: Flux does not know that incr actually increments the value of p. Hence, Flux fusses that the following assert may fail even though its patently obvious that it will succeed! To verify test_incr we need a signature for incr that says that its output is indeed one greater [2] than its input. Flux extends Rust with the notion of strong references of the form &strg T which refine Rust's &mut T to grant exclusive access to the underlying T. Crucially, strong references also let us specify how the type is updated when the function exits [3] . Thus, we can use strong references to type incr as #[flux::sig(fn(p: &strg i32[@n]) ensures p:i32[n+1])]\nfn incr(p: &mut i32) { *p += 1\n} The Flux signature refines the plain Rust one to specify that p is a strong reference to an i32, the input type of *p is i32[n], and the output type of *p is i32[n+1]. With this specification, Flux merrily checks test_incr, by determining that the refinement parameter @n is 10 and hence, that upon return x: i32[11].","breadcrumbs":"Ownership in Flux » Borrowing: Strong References","id":"52","title":"Borrowing: Strong References"},"53":{"body":"To sum up, Flux exploits Rust's ownership mechanisms to track properties of shared (&T) and mutable (&mut T) references, and additionally adds a strong (&strg T) reference -- a special case of &mut -- to support the cases where the type itself is changed by a call. Next, we'll see how refinements and ownership yield a simple refined API for vectors that lets Flux check bounds safety at compile time... For those familiar with the term, these types are loop invariants [2] : Setting aside the issue of overflows for now [3] : Thereby allowing so-called strong updates in the type specifications","breadcrumbs":"Ownership in Flux » Summary","id":"53","title":"Summary"},"54":{"body":"Online demo While rustc has a keen eye for spotting nasty bugs at compile time, it is not omniscient. We've all groaned in dismay at seeing deployed code crash with messages like panicked at 'index out of bounds: the len is ... but the index is ...' Next, lets see how flux's refinement and ownership mechanisms let us write a refined vector API whose types track vector sizes and ensure --- at compile time --- that vector accesses cannot fail at runtime.","breadcrumbs":"Refined Vectors » Refined Vectors","id":"54","title":"Refined Vectors"},"55":{"body":"To begin with, we will defined a refined vector type which is simply a wrapper around the standard Vec type #[flux::refined_by(len: int)]\npub struct RVec { inner: Vec,\n} The #[flux::refined_by(len: int)] attribute tells flux that the type RVec struct is indexed by a len refinement which tracks the size of the underlying vector, just like the indices for i32 and bool tracked the actual value of the underlying integer or boolean ). The idea is that the type RVec[10] represents a vector of i32 size 10, and RVec{v:0 < v} represents a non-empty vector of bool, and RVec[n]>[m] represents a vector of vectors of f32 of size m and each of whose elements is a vector of size n.","breadcrumbs":"Refined Vectors » Refining Vectors to Track their Size","id":"55","title":"Refining Vectors to Track their Size"},"56":{"body":"Now that we can talk about the size of a vector, lets build up an API for creating and manipulating vectors. I suppose one must start with nothing: an empty vector. impl RVec { #[flux::trusted] #[flux::sig(fn() -> RVec[0])] pub fn new() -> Self { Self { inner: Vec::new() } }\n} The above implements RVec::new as a wrapper around Vec::new. The #[flux::trusted] attribute tells Flux there is nothing to \"check\" here, as we are defining the API itself and trusting that the implementation (using vec is correct). However, the signature says that callers of the RVec::new get back a vector indexed with 0 i.e. an empty vector.","breadcrumbs":"Refined Vectors » Creating Vectors","id":"56","title":"Creating Vectors"},"57":{"body":"An empty vector is a rather desolate thing. To be of any use, we need to be able to push values into the container, like so #[flux::trusted]\n#[flux::sig(fn(self: &strg RVec[@n], T) ensures self: RVec[n+1])]\npub fn push(&mut self, item: T) { self.inner.push(item);\n} The refined type for push says that it takes a strong reference (self) --- where strg means the refined type may be changed by the function --- to an RVec of size n and a value T and upon exit, the size of self is increased by 1.","breadcrumbs":"Refined Vectors » Pushing Values","id":"57","title":"Pushing Values"},"58":{"body":"Not much point stuffing things into a vector if we can't get them out again. For that, we might implement a pop method that returns the last element of the vector. Aha, but what if the vector is empty? You could return an Option or since we're tracking sizes, we could require that pop only be called with non-empty vectors. #[flux::trusted]\n#[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T ensures self: RVec[n-1])]\npub fn pop(&mut self) -> T { self.inner.pop().unwrap()\n}","breadcrumbs":"Refined Vectors » Popping Values","id":"58","title":"Popping Values"},"59":{"body":"Now already flux can start checking some code, for example if you push two elements, then you can pop twice, but flux will reject the third pop at compile-time In fact, the error message from flux will point to exact condition that does not hold error[FLUX]: precondition might not hold --> src/vectors.rs:24:5 |\n24 | v.pop(); | ^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:78:47 |\n78 | #[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T | ^^^^^","breadcrumbs":"Refined Vectors » Using the API","id":"59","title":"Using the API"},"6":{"body":"Flux is integrated with cargo and can be invoked in a package as follows: cargo flux By default, Flux won't verify a package unless it's explicitly enabled in the manifest. To do so add the following to Cargo.toml: [package.metadata.flux]\nenabled = true","breadcrumbs":"Run » Running on a package: cargo-flux","id":"6","title":"Running on a package: cargo-flux"},"60":{"body":"Perhaps we should peek at the size of the vector to make sure its not empty before we pop it. We can do that with a len method whose type says that the returned usize is, in fact, the size of the input vector #[flux::trusted]\n#[flux::sig(fn(&RVec[@n]) -> usize[n])]\npub fn len(&self) -> usize { self.inner.len()\n} Now, flux \"knows\" that after two pushes, the size of the vector is 2 and after the two pops, the size is 0 again","breadcrumbs":"Refined Vectors » Querying the Size","id":"60","title":"Querying the Size"},"61":{"body":"Of course, vectors are not just stacks , they also allow random access to their elements which is where those pesky panics occur, and where the refined vector API gets rather useful. Since we're tracking sizes, we can require that the method to get an element only be called with a valid index that is between 0 and the vector's size #[flux::sig(fn(&RVec[@n], i: usize{i < n}) -> &T)]\npub fn get(&self, i: usize) -> &T { &self.inner[i]\n} #[flux::sig(fn(&mut RVec[@n], i: usize{i < n}) -> &mut T)]\npub fn get_mut(&mut self, i: usize) -> &mut T { &mut self.inner[i]\n} With these refined get methods, flux can now spot the ``off-by-one'' error in the following code and accepts the fix [1] Its a bit gross to use get and get_mut directly, so instead we implement the Index and IndexMut traits for RVec which allows us to use the [] operator to access elements impl std::ops::Index for RVec { type Output = T; #[flux::sig(fn(&RVec[@n], i:usize{i < n}) -> &T)] fn index(&self, index: usize) -> &T { self.get(index) }\n} impl std::ops::IndexMut for RVec { #[flux::sig(fn(&mut RVec[@n], i:usize{i < n}) -> &mut T)] fn index_mut(&mut self, index: usize) -> &mut T { self.get_mut(index) }\n} And now the above vec_sum example looks a little nicer","breadcrumbs":"Refined Vectors » Random Access","id":"61","title":"Random Access"},"62":{"body":"Lets put the whole API to work in this \"memoized\" version of the fibonacci function which uses a vector to store the results of previous calls pub fn fib(n: usize) -> i32 { let mut r = RVec::new(); let mut i = 0; while i < n { if i == 0 { r.push(0); } else if i == 1 { r.push(1); } else { let a = r[i - 1]; let b = r[i - 2]; r.push(a + b); } i += 1; } r.pop()\n} Oops, flux is not happy with the call to pop at the end of the function which returns the last value as the result. error[FLUX]: precondition might not hold --> src/vectors.rs:40:5 |\n40 | r.pop() | ^^^^^^^ Flux complains that the vector may be empty and so the pop call may fail ... but why? Can you spot the problem? Indeed, we missed a \"corner\" case -- when n is 0 we skip the loop and so the vector is empty! Once we add a test for that, flux is happy.","breadcrumbs":"Refined Vectors » Memoization","id":"62","title":"Memoization"},"63":{"body":"As a last example, lets look at a simplified version of the binary_search method from std::vec , into which I've snuck a tiny little bug pub fn binary_search(vec: &RVec, x: i32) -> Result { let mut size = vec.len(); let mut left = 0; let mut right = size; while left <= right { let mid = left + size / 2; let val = vec[mid]; if val < x { left = mid + 1; } else if x < val { right = mid; } else { return Ok(mid); } size = right - left; } Err(left)\n} Flux complains in two places error[FLUX]: precondition might not hold --> src/vectors.rs:152:19 |\n152 | let val = vec[mid]; | ^^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:189:44 |\n189 | #[flux::sig(fn(&RVec[@n], usize{v : v < n}) -> &T)] | ^^^^^ error[FLUX]: arithmetic operation may overflow --> src/vectors.rs:160:9 |\n160 | size = right - left; | ^^^^^^^^^^^^^^^^^^^ The vector access may be unsafe as mid could be out of bounds! The size variable may underflow as left may exceed right! Can you the spot off-by-one and figure out a fix?","breadcrumbs":"Refined Vectors » Binary Search","id":"63","title":"Binary Search"},"64":{"body":"So, we saw how Flux's index and constraint mechanisms combine with Rust's ownership to let us write a refined vector API that ensures the safety of all accesses at compile time. Next time, we'll see how these mechanisms are compositional in that we can use standard type machinery to build up compound structures and APIs from simple ones. Why not use an iterator? We'll get there in due course!","breadcrumbs":"Refined Vectors » Summary","id":"64","title":"Summary"},"65":{"body":"Flux is a research project described in the paper","breadcrumbs":"About » About Flux","id":"65","title":"About Flux"},"66":{"body":"Flux is being developed by Nico Lehmann , Adam Geller Cole Kurashige Gilles Barthe Niki Vazou Ranjit Jhala","breadcrumbs":"About » Team","id":"66","title":"Team"},"67":{"body":"Flux is open-source and available here","breadcrumbs":"About » Code","id":"67","title":"Code"},"68":{"body":"This work was supported by the National Science Foundation, European Research Council, and by generous gifts from Microsoft Research.","breadcrumbs":"About » Thanks","id":"68","title":"Thanks"},"69":{"body":"This is a prototype! Use at your own risk. Everything could break and it will break.","breadcrumbs":"About » Limitations","id":"69","title":"Limitations"},"7":{"body":"The following example declares a function inc that returns an integer greater than the input. We use the nightly feature register_tool to register the flux tool in order to add refinement annotations to functions. #[flux::sig(fn(x: i32) -> i32{v: x < v})]\npub fn inc(x: i32) -> i32 { x - 1\n} You can save the above snippet in say test0.rs and then run rustc-flux --crate-type=lib path/to/test0.rs you should see in your output error[FLUX]: postcondition might not hold --> test0.rs:3:5 |\n3 | x - 1 | ^^^^^ as indeed x - 1 is not greater than x as required by the output refinement i32{v: x < v}. If you fix the error by replacing x - 1 with x + 1, you should get no errors in the output (the output may be empty, but in this case no output is a good thing). Read these chapters to learn more about what you specify and verify with flux.","breadcrumbs":"Run » A tiny example","id":"7","title":"A tiny example"},"8":{"body":"The flux-driver binary is a rustc driver (similar to how clippy works) meaning it uses rustc as a library to \"drive\" compilation performing additional analysis along the way. Running the binary requires dynamically linking a correct version of librustc. Thus, to avoid the hassle you should never execute it directly. Instead, use rustc-flux or cargo-flux.","breadcrumbs":"Run » A note about the flux-driver binary","id":"8","title":"A note about the flux-driver binary"},"9":{"body":"This section assumes you have installed flux, cargo-flux, and rustc-flux.","breadcrumbs":"Run » Editor Support","id":"9","title":"Editor Support"}},"length":70,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.0},"8":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":2.449489742783178},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":3.7416573867739413}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.23606797749979},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}},"u":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.0},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":3.1622776601683795},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"26":{"tf":2.449489742783178},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.449489742783178},"28":{"tf":2.8284271247461903},"29":{"tf":1.4142135623730951},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":4.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.3166247903554},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":10,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":3,"docs":{"10":{"tf":1.0},"32":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.6457513110645907},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.449489742783178},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"32":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":2.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":2.0},"48":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":2,"docs":{"42":{"tf":1.0},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"60":{"tf":1.0}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"51":{"tf":2.0},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":30,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.4641016151377544},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":14,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":13,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":5,"docs":{"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"32":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":3.872983346207417},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":2.8284271247461903},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":4.898979485566356},"26":{"tf":2.449489742783178},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":12,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":8,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.449489742783178},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":2.6457513110645907},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":3.7416573867739413}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.23606797749979},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":16,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"8":{"tf":2.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}},"u":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.23606797749979},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.4142135623730951}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.23606797749979},"20":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":3.3166247903554},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.23606797749979},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":2.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"28":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":4.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":2.0},"4":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"49":{"tf":2.0},"5":{"tf":2.449489742783178},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.4641016151377544},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":10,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":3,"docs":{"10":{"tf":1.0},"32":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":3.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.6457513110645907},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"12":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.8284271247461903},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":7,"docs":{"39":{"tf":2.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"32":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":2.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.23606797749979},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.6457513110645907},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":2.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":2,"docs":{"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"51":{"tf":2.23606797749979},"52":{"tf":2.6457513110645907},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":36,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.7320508075688772},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":19,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":2.0},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":13,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"32":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":4.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":3.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":5.0},"26":{"tf":2.6457513110645907},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.0},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0990195135927845},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":13,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.449489742783178},"55":{"tf":3.1622776601683795},"56":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":8,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"title":{"root":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"14":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"5":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":11,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"40":{"tf":1.0},"43":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"60":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"37":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"19":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"57":{"tf":1.0},"58":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/searchindex.json b/searchindex.json index a4632758b0..1cd995929d 100644 --- a/searchindex.json +++ b/searchindex.json @@ -1 +1 @@ -{"doc_urls":["index.html","guide/install.html#installing-flux","guide/install.html#requirements","guide/install.html#installing","guide/run.html#running-flux","guide/run.html#running-on-a-file-rustc-flux","guide/run.html#running-on-a-package-cargo-flux","guide/run.html#a-tiny-example","guide/run.html#a-note-about-the-flux-driver-binary","guide/run.html#editor-support","guide/run.html#rust-analyzer-in-vscode","guide/run.html#configuration","guide/run.html#environment-variables","guide/run.html#config-file","guide/run.html#crate-config","guide/run.html#query-caching","guide/specs.html#flux-specification-guide","guide/specs.html#refinement-types","guide/specs.html#argument-syntax","guide/specs.html#extern-specs","guide/specs.html#import-the-procedural-macros","guide/specs.html#extern-functions","guide/specs.html#extern-structs-and-impls","guide/specs.html#grammar-of-refinements","dev/develop.html#developers-guide","dev/develop.html#regression-tests","dev/develop.html#testing-flux-on-a-file","dev/develop.html#reporting-locations-where-errors-are-emitted","dev/develop.html#running-outside-the-project","dev/develop.html#profiling-flux","dev/develop.html#sample-output","dev/architecture.html#high-level-architecture","dev/architecture.html#crates","dev/architecture.html#intermediate-representations","dev/architecture.html#surface","dev/architecture.html#fhir","dev/architecture.html#rty","dev/architecture.html#simplified-rustc","dev/architecture.html#lifting-and-refining","blog/01-introducing-flux.html#introducing-flux","blog/01-introducing-flux.html#indexed-types","blog/01-introducing-flux.html#post-conditions","blog/01-introducing-flux.html#pre-conditions","blog/01-introducing-flux.html#index-parameters-and-expressions","blog/01-introducing-flux.html#existential-types","blog/01-introducing-flux.html#summary","blog/02-ownership.html#ownership-in-flux","blog/02-ownership.html#exclusive-ownership","blog/02-ownership.html#borrowing-shared-references","blog/02-ownership.html#refinement-parameters","blog/02-ownership.html#borrowing-mutable-references","blog/02-ownership.html#aliased-references","blog/02-ownership.html#borrowing-strong-references","blog/02-ownership.html#summary","blog/03-vectors.html#refined-vectors","blog/03-vectors.html#refining-vectors-to-track-their-size","blog/03-vectors.html#creating-vectors","blog/03-vectors.html#pushing-values","blog/03-vectors.html#popping-values","blog/03-vectors.html#using-the-api","blog/03-vectors.html#querying-the-size","blog/03-vectors.html#random-access","blog/03-vectors.html#memoization","blog/03-vectors.html#binary-search","blog/03-vectors.html#summary","about.html#about-flux","about.html#team","about.html#code","about.html#thanks","about.html#limitations"],"index":{"documentStore":{"docInfo":{"0":{"body":25,"breadcrumbs":1,"title":1},"1":{"body":0,"breadcrumbs":3,"title":2},"10":{"body":26,"breadcrumbs":4,"title":3},"11":{"body":0,"breadcrumbs":2,"title":1},"12":{"body":117,"breadcrumbs":3,"title":2},"13":{"body":68,"breadcrumbs":3,"title":2},"14":{"body":36,"breadcrumbs":3,"title":2},"15":{"body":23,"breadcrumbs":3,"title":2},"16":{"body":5,"breadcrumbs":4,"title":3},"17":{"body":209,"breadcrumbs":3,"title":2},"18":{"body":77,"breadcrumbs":3,"title":2},"19":{"body":41,"breadcrumbs":3,"title":2},"2":{"body":10,"breadcrumbs":2,"title":1},"20":{"body":38,"breadcrumbs":4,"title":3},"21":{"body":131,"breadcrumbs":3,"title":2},"22":{"body":214,"breadcrumbs":4,"title":3},"23":{"body":61,"breadcrumbs":3,"title":2},"24":{"body":0,"breadcrumbs":3,"title":2},"25":{"body":145,"breadcrumbs":3,"title":2},"26":{"body":103,"breadcrumbs":4,"title":3},"27":{"body":33,"breadcrumbs":5,"title":4},"28":{"body":82,"breadcrumbs":4,"title":3},"29":{"body":17,"breadcrumbs":3,"title":2},"3":{"body":77,"breadcrumbs":2,"title":1},"30":{"body":150,"breadcrumbs":3,"title":2},"31":{"body":18,"breadcrumbs":5,"title":3},"32":{"body":193,"breadcrumbs":3,"title":1},"33":{"body":34,"breadcrumbs":4,"title":2},"34":{"body":19,"breadcrumbs":3,"title":1},"35":{"body":27,"breadcrumbs":3,"title":1},"36":{"body":21,"breadcrumbs":3,"title":1},"37":{"body":23,"breadcrumbs":4,"title":2},"38":{"body":32,"breadcrumbs":4,"title":2},"39":{"body":81,"breadcrumbs":4,"title":2},"4":{"body":6,"breadcrumbs":3,"title":2},"40":{"body":26,"breadcrumbs":4,"title":2},"41":{"body":55,"breadcrumbs":4,"title":2},"42":{"body":61,"breadcrumbs":4,"title":2},"43":{"body":64,"breadcrumbs":5,"title":3},"44":{"body":154,"breadcrumbs":4,"title":2},"45":{"body":72,"breadcrumbs":3,"title":1},"46":{"body":56,"breadcrumbs":4,"title":2},"47":{"body":141,"breadcrumbs":4,"title":2},"48":{"body":123,"breadcrumbs":5,"title":3},"49":{"body":72,"breadcrumbs":4,"title":2},"5":{"body":31,"breadcrumbs":5,"title":4},"50":{"body":116,"breadcrumbs":5,"title":3},"51":{"body":82,"breadcrumbs":4,"title":2},"52":{"body":153,"breadcrumbs":5,"title":3},"53":{"body":67,"breadcrumbs":3,"title":1},"54":{"body":48,"breadcrumbs":4,"title":2},"55":{"body":70,"breadcrumbs":6,"title":4},"56":{"body":60,"breadcrumbs":4,"title":2},"57":{"body":48,"breadcrumbs":4,"title":2},"58":{"body":46,"breadcrumbs":4,"title":2},"59":{"body":50,"breadcrumbs":4,"title":2},"6":{"body":24,"breadcrumbs":5,"title":4},"60":{"body":40,"breadcrumbs":4,"title":2},"61":{"body":122,"breadcrumbs":4,"title":2},"62":{"body":80,"breadcrumbs":3,"title":1},"63":{"body":108,"breadcrumbs":4,"title":2},"64":{"body":39,"breadcrumbs":3,"title":1},"65":{"body":5,"breadcrumbs":1,"title":1},"66":{"body":15,"breadcrumbs":1,"title":1},"67":{"body":5,"breadcrumbs":1,"title":1},"68":{"body":12,"breadcrumbs":1,"title":1},"69":{"body":6,"breadcrumbs":1,"title":1},"7":{"body":85,"breadcrumbs":3,"title":2},"8":{"body":39,"breadcrumbs":5,"title":4},"9":{"body":8,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"Flux is a refinement type checker for Rust that lets you specify a range of correctness properties and have them be verified at compile time. See the examples -- listed in the summary on the left -- to learn about Refinement types and Rust. You can try it online here .","breadcrumbs":"Introduction","id":"0","title":"Introduction"},"1":{"body":"","breadcrumbs":"Install » Installing Flux","id":"1","title":"Installing Flux"},"10":{"body":"Add this to the workspace settings i.e. .vscode/settings.json { \"rust-analyzer.check.overrideCommand\": [ \"cargo\", \"flux\", \"--workspace\", \"--message-format=json-diagnostic-rendered-ansi\" ]\n} Note: Make sure to edit the paths in the above snippet to point to the correct locations on your machine.","breadcrumbs":"Run » Rust-Analyzer in VSCode","id":"10","title":"Rust-Analyzer in VSCode"},"11":{"body":"","breadcrumbs":"Run » Configuration","id":"11","title":"Configuration"},"12":{"body":"You can set various env variables to customize the behavior of flux. FLUX_CONFIG tells flux where to find a config file for these settings. By default, flux searches its directory for a flux.toml or .flux.toml. FLUX_SYSROOT tells cargo-flux and rustc-flux where to find the flux-driver binary. Defaults to the default installation location in ~/.flux. FLUX_LOG_DIR=path/to/log/ sets the directory where constraints, timing and cache are saved. Defaults to ./log/. FLUX_DUMP_CONSTRAINT=1 tell flux to dump constraints generated for each function. FLUX_DUMP_CHECKER_TRACE=1 saves the checker's trace (useful for debugging!) FLUX_DUMP_TIMINGS=1 saves the profile information FLUX_DUMP_MIR=1 saves the low-level MIR for each analyzed function FLUX_POINTER_WIDTH=N the size of (either 32 or 64), used to determine if an integer cast is lossy (default 64). FLUX_CHECK_DEF=name only checks definitions containing name as a substring FLUX_CACHE=1\" switches on query caching and saves the cache in FLUX_CACHE_FILE FLUX_CACHE_FILE=file.json customizes the cache file, default FLUX_LOG_DIR/cache.json FLUX_CHECK_OVERFLOW=1 checks for over and underflow on arithmetic integer operations, default 0. When set to 0, it still checks for underflow on unsigned integer subtraction.","breadcrumbs":"Run » Environment Variables","id":"12","title":"Environment Variables"},"13":{"body":"The config file is a .toml file that contains on each line the lowercase name of a flux command line flag without the FLUX_ prefix. Set environment variables take priority over the config file. The config file should be in the project root. For example, suppose your project root contains the following flux.toml. log_dir = \"./test\"\ndump_timings = true\ndump_mir = true\ncache = true and you run in the project root FLUX_DUMP_MIR=0 cargo-flux check then flux will create the directory ./test/ and write ./test/timings, a file containing profiling information. It will not dump the MIR because that setting was overridden by setting the environment variable FLUX_DUMP_MIR=0.","breadcrumbs":"Run » Config file","id":"13","title":"Config file"},"14":{"body":"Some flags can be configured on a per-crate basis using the custom inner attribute #![flux::cfg]. This annotation relies on the unstable custom inner attributes feature. To be able to use with a non-nightly compiler you have to put it under a cfg_attr. For example, to enable overflow checking: #![cfg_attr(flux, flux::cfg(check_overflow = true))] The only flag supported now is overflow checking.","breadcrumbs":"Run » Crate Config","id":"14","title":"Crate Config"},"15":{"body":"FLUX_CACHE=1 persistently caches the safe fixpoint queries for each DefId in FLUX_LOG_DIR/FLUX_CACHE_FILE, and on subsequent runs, skips queries that are already in the cache, which considerably speeds up cargo-flux check on an entire crate.","breadcrumbs":"Run » Query Caching","id":"15","title":"Query Caching"},"16":{"body":"This is a WIP guide to writing specifications in flux.","breadcrumbs":"Specs » Flux Specification Guide","id":"16","title":"Flux Specification Guide"},"17":{"body":"Indexed Type : An indexed type B[r] is composed of a base Rust type B and a refinement index r. The meaning of the index depends on the type. Some examples are i32[n]: denotes the (singleton) set of i32 values equal to n. List[n]: values of type List of length n. Refinement parameter : Function signatures can be parametric on refinement variables. Refinement parameters are declared using the @n syntax. For example, the following signature: fn(i32[@n]) -> i32[n + 1] binds n over the entire scope of the function to specify that it takes an i32 equal to n and returns an i32 equal to n + 1. This is analogous to languages like Haskell where a lower case letter can be used to quantify over a type, e.g., the type a -> a in Haskell is polymorphic on the type a which is bound for the scope of the entire function type. Existential Type : An existential type B{v: r(v)} is composed of a base type B, a refinement variable v and a refinement predicate r on v. Intuitively, a Rust value x has type B{v: r(v)} if there exists a refinement value a such that r(a) holds and x has type B[x]. i32{v: v > 0}: set of positive i32 values. List{v: v > 0}: set of non-empty lists. Constraint Type : A constraint type has the form {T | r} where T is any type (not just a base type). Intuitively, a value has type {T | r} if it has type T and also r holds. They can be used to constraint a refinement parameter. For example, the following signature constraint the refinement parameter n to be less than n. fn({i32[@n] | n < 10}) -> i32[n + 1] Constraint types serve a similar role as existentials as they can also be used to constraint some refinement value with a predicate, but an existential type can only be used to constraint refinement variable that it bound locally, in contrast constraint types can be used to constraint a \"non-local\" parameter. This can be seen in the example above where the parameter n cannot be bound locally because it has to be used in the return type.","breadcrumbs":"Specs » Refinement Types","id":"17","title":"Refinement Types"},"18":{"body":"The @n syntax used to declare refinements parameters can be hard to read sometimes. Flux also supports a syntax that let you bind refinement parameters using colons similar to the syntax used to declare arguments in a function. We call this argument syntax . This syntax desugars to one of the refinements forms discussed above. For example, the following signature fn(x: i32, y: i32) -> i32[x + y] desugars to fn(i32[@x], i32[@y]) -> i32[x + y] It is also possible to attach some constraint to the parameters when using argument syntax. For example, to specify that y must be greater than x using argument syntax we can write: fn(x: i32, y: i32{x > y}) -> i32[x + y] This will desugar to: fn(i32[@x], {i32[@y] | x > y}) -> i32[x + y]","breadcrumbs":"Specs » Argument Syntax","id":"18","title":"Argument Syntax"},"19":{"body":"Sometimes you may want to refine a struct or function that outside your code. We refer to such a specification as an \"extern spec,\" which is short for \"external specification.\" Flux right now has rudimentary support for extern specs: they are supported for functions, impls, and structs. Impls are only supported for structs and if you have multiple impls for a struct (such as &[T] and [T]), those may conflict. Structs only support opaque refinements.","breadcrumbs":"Specs » Extern specs","id":"19","title":"Extern specs"},"2":{"body":"rustup liquid-fixpoint z3 Be sure that the liquid-fixpoint and z3 executables are in your $PATH.","breadcrumbs":"Install » Requirements","id":"2","title":"Requirements"},"20":{"body":"In order to use an extern spec you need to add a dependency on flux_rs . Right now this needs to be done as a local dependency since it is not published. Below is an example of how you can include it, although the version may be different. [dependencies]\nflux-rs = { path = \"path-to-flux/flux/flux-rs\", version = \"0.1.0\" } Then in your code you will need to include the extern_spec attribute macro. use flux_rs::extern_spec;","breadcrumbs":"Specs » Import the procedural macros","id":"20","title":"Import the procedural macros"},"21":{"body":"An example of refining an extern function can be found here . To define an extern spec on a function, you need to do three things, which happen to correspond to each of the below lines. #[extern_spec(std::mem)]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\nfn swap(a: &mut i32, b: &mut i32); Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::mem. You can use this path to qualify the function. So in the above example, the function we are targeting has the full path of std::mem::swap. Add a #[flux::sig(...)] attribute. This is required for any extern spec on a function. This signature behaves as if the #[flux::trusted] attribute was added, because we can't actually check the implementation. We just verify some simple things, like that the function arguments have compatible types. Write a function stub that matches the external function. If you do the above, you can use std::mem::swap as if it were refined by the above type. You shouldn't need to know the details, but here's how the macro works. It parses the std::mem into a module path and then transforms the function into #[flux::extern_spec]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\n#[allow(unused, dead_code)]\nfn __flux_extern_spec_swap(a: &mut i32, b: &mut i32) { std::mem::swap(a, b)\n} It does this to get information about the function std::mem::swap and its arguments (this turns out to be difficult to do without giving the compiler something to inspect and type check).","breadcrumbs":"Specs » Extern functions","id":"21","title":"Extern functions"},"22":{"body":"An example of refining an extern struct and impl can be found here . A simpler example just involving structs can be found here . The syntax for an extern spec on a struct is very similar to that for a function. Once again, each line in the example happens to correspond to a step. #[extern_spec(std::string)]\n#[flux::refined_by(len: int)]\nstruct String; Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::string. You can use this path to qualify the function. So in the above example, the struct we are targeting has the full path of std::string::String. Add a #[flux::refined_by(...)] attribute. This is required for any extern spec on a struct. Right now these attributes behave as if they were opaque (#[flux::opaque]), although we may support non-opaque extern structs. Write a stub for the extern struct. If you do the above, you can use std::string::String as if it were refined by an integer index. The syntax for an extern impl is a little different than that for functions or structs. #[extern_spec(std::string)]\nimpl String { #[flux::sig(fn() -> String[0])] fn new() -> String; #[flux::sig(fn(&String[@n]) -> usize[n])] fn len(s: &String) -> usize;\n} You still need to add the #[extern_spec] attribute, with the same optional argument of the path as above. You need to write out the impl block for the struct you want to refine. This struct does not need an extern spec, since by refining the impl you're only refining its methods. Write an extern spec for each function you wish to refine (this may be a subset). This is written just like a function extern spec with the caveat that the self parameter is not presently supported. So for example, instead of writing fn len(&self) -> usize;, you need to write fn len(s: &String) -> usize;. If you do the above, you can use the above methods ofstd::string::String as if they were refined. You shouldn't need to know the details, but here's how the above two macros expand. For structs: #[flux::extern_spec]\n#[allow(unused, dead_code)]\n#[flux::refined_by(len: int)]\nstruct __FluxExternSpecString(std::string::String); For impls (this was translated manually so there might be some bugs): #[allow(unused, dead_code)]\nstruct __FluxExternImplStructString; #[allow(unused, dead_code)]\nimpl __FluxExternImplStructString { #[flux::extern_spec] #[flux::sig(fn() -> String[0])] #[allow(unused, dead_code)] fn __flux_extern_spec_new() -> String { std::string::String::new::<>() } #[flux::extern_spec] #[flux::sig(fn(&String[@n]) -> usize[n])] #[allow(unused, dead_code)] fn __flux_extern_spec_len(s: &String) -> usize { std::string::String::len::<>(s) }\n}","breadcrumbs":"Specs » Extern structs and impls","id":"22","title":"Extern structs and impls"},"23":{"body":"r ::= n // numbers 1,2,3... | x // identifiers x,y,z... | x.f // index-field access | r + r // addition | r - r // subtraction | n * e // multiplication by constant | if r { r } else { r } // if-then-else | f(r...) // function application | true | false // booleans | r == r // equality | r != r // not equal | r < r // less than | r <= r // less than or equal | r > r // greater than | r >= r // greater than or equal | r || r // disjunction | r && r // conjunction | r => r // implication | !r // negation","breadcrumbs":"Specs » Grammar of Refinements","id":"23","title":"Grammar of Refinements"},"24":{"body":"","breadcrumbs":"Develop » Developer's Guide","id":"24","title":"Developer's Guide"},"25":{"body":"You can run the various regression tests in the tests/pos and tests/neg directories using cargo xtask test This will build the flux binary and then run it against the entire test suite. You can optionally pass a filter to only run tests containing some substring. For example: $ cargo xtask test impl_trait Compiling xtask v0.1.0 (/path/to/flux/xtask) Finished dev [unoptimized + debuginfo] target(s) in 0.29s Running `target/debug/xtask test impl_trait`\n$ cargo build Finished dev [unoptimized + debuginfo] target(s) in 0.05s\n$ cargo test -p flux-tests -- --test-args impl_trait Compiling flux-tests v0.1.0 (/path/to/flux/flux-tests) Finished test [unoptimized + debuginfo] target(s) in 0.62s Running tests/compiletest.rs (target/debug/deps/compiletest-1241128f1f51caa4) running 5 tests\ntest [ui] pos/surface/impl_trait04.rs ... ok\ntest [ui] pos/surface/impl_trait03.rs ... ok\ntest [ui] pos/surface/impl_trait01.rs ... ok\ntest [ui] pos/surface/impl_trait00.rs ... ok\ntest [ui] pos/surface/impl_trait02.rs ... ok test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 191 filtered out; finished in 0.10s running 2 tests\ntest [compile-fail] neg/surface/impl_trait00.rs ... ok\ntest [compile-fail] neg/surface/impl_trait02.rs ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 207 filtered out; finished in 0.09s","breadcrumbs":"Develop » Regression Tests","id":"25","title":"Regression Tests"},"26":{"body":"When working on Flux, you may want to test your changes by running it against a test file. You can use cargo xtask run to run Flux on a single input file. The command will set appropriate flags to be able to use custom Flux attributes and macros, plus some extra flags useful for debugging. For example: $ cat test.rs\n#[flux::sig(fn(x: i32) -> i32[x + 1])]\nfn add1(x: i32) -> i32 { x + 1\n}\n$ cargo xtask run test.rs The command will use a super set of the flags passed when running regression tests. Thus, a common workflow is to identify a failing test and run it directly with cargo xtask run, or alternatively copy it to a different file. You may also find useful to create a directory in the root of the project and add it to .git/info/exclude . You can keep files there, outside of version control, and test Flux against them. I have a directory called attic/ where I keep a file named playground.rs. To run Flux on it, I do cargo xtask run attic/playground.rs.","breadcrumbs":"Develop » Testing Flux on a File","id":"26","title":"Testing Flux on a File"},"27":{"body":"When you use cargo xtask run you'll see that we report the location an error was emitted, e.g., error[FLUX]: refinement type error --> attic/playground.rs:4:5 |\n4 | 0 | ^ a postcondition cannot be proved\n-Ztrack-diagnostics: created at crates/flux-refineck/src/lib.rs:114:15 <------- this You can also pass -Ztrack-diagnostics=y to enable it if you are not using cargo xtask run","breadcrumbs":"Develop » Reporting locations where errors are emitted","id":"27","title":"Reporting locations where errors are emitted"},"28":{"body":"To run Flux in a package outside the flux repo you need to install the binaries globally. You can do that using cargo xtask install. If you are continuously testing new changes it could be annoying to do it each time. To deal with this, you can set the FLUX_SYSROOT environment variable to change the location where cargo-flux and rustc-flux load the flux-driver. You can set it globally to point to the target/debug directory inside your local copy of the repo. This way you won't have to run cargo xtask install after every change, and you can be sure you'll be using the latest local debug build. Just be aware that the rustc-flux and cargo-flux binaries are built for a specific toolchain, and you will get a dynamic linking error if the flux-driver was compiled with a different one. This is to say, you should at least run cargo xtask install every time after the toolchain is updated.","breadcrumbs":"Develop » Running outside the project","id":"28","title":"Running outside the project"},"29":{"body":"Set FLUX_DUMP_TIMINGS=true to have flux write timing diagnostics to ./log/timings. Right now this is extremely simple, it just provides some details for the spans under flux_typeck and flux_driver.","breadcrumbs":"Develop » Profiling Flux","id":"29","title":"Profiling Flux"},"3":{"body":"The only way to use flux is to build it from source. First you need to clone the repository git clone https://github.com/flux-rs/flux\ncd flux To build the source you need a nightly version of rustc. We pin the version using a toolchain file (more info here ). If you are using rustup, no special action is needed as it should install the correct rustc version and components based on the information on that file. Next, run the following to build and install flux binaries cargo xtask install This will install two binaries rustc-flux and cargo-flux in your cargo home. These two binaries should be used respectively to run flux on either a single file or on a project using cargo. The installation process will also copy some files to $HOME/.flux.","breadcrumbs":"Install » Installing","id":"3","title":"Installing"},"30":{"body":"Below is a sample output for an invocation of cargo-flux check that took 19 seconds. The missing 2 seconds approximately accounts for the time it takes for cargo check to run. Note that check_crate contains everything running under check_top, which is why the sum of the spans is greater than 19 seconds. check_top Checker::infer num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 2.62ms max: 24.12ms total time: 229.64ms Checker::check num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 5.24ms max: 159.91ms total time: 2028.47ms FixpointCtx::check num events: 205 min non-zero: 22.02ms 1st quartile: 26.21ms 2nd quartile: 28.31ms 3rd quartile: 40.37ms max: 1867.51ms total time: 9106.36ms\ntotal time: 11364.47ms check_crate Callbacks::check_wf num events: 1 min non-zero: 18.35ms 1st quartile: 18.87ms 2nd quartile: 18.87ms 3rd quartile: 18.87ms max: 18.87ms total time: 18.87ms Callbacks::check_crate num events: 1 min non-zero: 16986.93ms 1st quartile: 16995.32ms 2nd quartile: 16995.32ms 3rd quartile: 16995.32ms max: 16995.32ms total time: 16995.32ms\ntotal time: 17014.19ms","breadcrumbs":"Develop » Sample output","id":"30","title":"Sample output"},"31":{"body":"Flux is implemented as a compiler driver . We hook into the compiler by implementing the Callbacks trait. The implementation is located is in the flux-driver crate, and it is the main entry point to Flux.","breadcrumbs":"Develop » Architecture » High-level Architecture","id":"31","title":"High-level Architecture"},"32":{"body":"flux: Contains the flux-driver binary. flux-attrs: Implementation of user facing procedural macros for annotating programs with Flux specs. flux-attrs-proc-macros: Procedural macro crate exporting the user facing procedural macros. flux-attrs-proc-macros-build: Dummy crate used to pre-build the procedural macro crate with relevant features enabled. The main purpose of this crate is being able to use procedural macros in tests. flux-bin: Contains the cargo-flux and rustc-flux binaries. flux-common: Common utility definitions used across all crates. flux-config: Crate containing logic associated with global configuration Flags that change the behavior of Flux, e.g, to enable or disable overflow checking. flux-desugar: Implementation of name resolution and desugaring from Flux surface syntax into Flux high-level intermediate representation (fhir). flux-driver: Main entry point to Flux. It contains the implementation of the Callbacks trait. flux-errors: Utility definitions for user facing error reporting. flux-fhir-analysis: Implements the \"analyses\" performed in the fhir, most notably well-formedness checking and conversion from fhir into rty. flux-fixpoint: Code to interact with the Liquid Fixpoint binary. flux-macros: Procedural macros used internally to implement Flux. flux-metadata: Logic for saving Flux crate metadata that can be used to import refined signatures from external crates. flux-middle: This crate contains common type definitions that are used by the rest of Flux like the rty and fhir intermediate representations. Akin to rustc_middle . flux-refineck: Implementation of refinement type checking. flux-syntax: Definition of the surface syntax AST and parser. flux-tests: Flux regression tests.","breadcrumbs":"Develop » Architecture » Crates","id":"32","title":"Crates"},"33":{"body":"Flux has several intermediate representations (IR) for types. They represent a refined version of an equivalent type in some rustc IR. We have picked a distinct verb to refer to the process of going between these different representations to make it easier to refer to them. The following image summarizes all the IRs and the process for going between them. IRs diagram","breadcrumbs":"Develop » Architecture » Intermediate Representations","id":"33","title":"Intermediate Representations"},"34":{"body":"The surface IR represents source level Flux annotations. It corresponds to the rustc_ast data structures in rustc. The definition as well as the parser is located in the flux-syntax crate.","breadcrumbs":"Develop » Architecture » Surface","id":"34","title":"Surface"},"35":{"body":"The Flux High-Level Intermediate Representation (fhir) is a refined version of rustc's hir . The definition is located in the flux_middle crate inside the fhir module. The process of going from surface to fhir is called desugaring , and it is implemented in the flux-desugar crate.","breadcrumbs":"Develop » Architecture » Fhir","id":"35","title":"Fhir"},"36":{"body":"The definition in the flux_middle::rty module correspond to a refined version of the main rustc representation for types defined in rustc_middle::ty . The process of going from fhir to rty is called conversion , and it is implemented in the flux_fhir_analysis::conv module.","breadcrumbs":"Develop » Architecture » Rty","id":"36","title":"Rty"},"37":{"body":"The definition in the flux_middle::rustc module correspond to simplified version of data structures in rustc. They can be understood as the currently supported subset of Rust. The process of going from a definition in rustc_middle into flux_middle::rustc is called lowering and it is implemented in flux_middle::rustc::lowering.","breadcrumbs":"Develop » Architecture » Simplified Rustc","id":"37","title":"Simplified Rustc"},"38":{"body":"Besides the different translation between Flux intermediate representations, there are two ways to get a refined version from a rust type. The process of going from a type in hir into a type in fhir is called lifting , and it is implemented in flux_middle::fhir::lift. The process for going from a type in flux_middle::rustc::ty into a flux_middle::rty is called refining , and it is implemented flux_middle::rty::refining.","breadcrumbs":"Develop » Architecture » Lifting and Refining","id":"38","title":"Lifting and Refining"},"39":{"body":"Online demo Types bring order to code. For example, if a variable i:usize then we know i is a number that can be used to index a vector. Similarly, if v:vec<&str> then we can be sure that v is a collection of strings which may be indexed but of course, not used as an index. However, by itself usize doesn't tell us how big or small the number and hence the programmer must still rely on their own wits, a lot of tests, and a dash of optimism, to ensure that all the different bits fit properly at run-time. Refinements are a promising new way to extend type checkers with logical constraints that specify additional correctness requirements that can be verified by the compiler, thereby entirely eliminating various classes of run-time problems. We're excited to introduce Flux , a refinement type checker plugin that brings this technology to Rust.","breadcrumbs":"Introducing Flux » Introducing Flux","id":"39","title":"Introducing Flux"},"4":{"body":"You can run flux on a single file or entire crate.","breadcrumbs":"Run » Running Flux","id":"4","title":"Running Flux"},"40":{"body":"The most basic form of refinement type in flux is a type that is indexed by a logical value. For example Type Meaning i32[10] The (singleton) set of i32 values equal to 10 bool[true] The (singleton) set of bool values equal to true","breadcrumbs":"Introducing Flux » Indexed Types","id":"40","title":"Indexed Types"},"41":{"body":"We can already start using these indexed types to start writing (and checking) code. For example we can write the following specification which says that the value returned by mk_ten must in fact be 10 #[flux::sig(fn() -> i32[10])]\npub fn mk_ten() -> i32 { 5 + 4\n} but when you compile it, flux will say error[FLUX]: postcondition might not hold --> src/basics.rs:7:5 |\n7 | 5 + 4 | ^^^^^ The error says that that the postcondition might not hold which means that the output produced by mk_ten may not in fact be an i32[10] as indeed, in this case, the result is 9! You can eliminate the error by replacing the body with 5 + 5 or just 10.","breadcrumbs":"Introducing Flux » Post-Conditions","id":"41","title":"Post-Conditions"},"42":{"body":"Here's a second example that shows how you can use an index to restrict the space of inputs that a function expects. #[flux::sig(fn (b:bool[true]))]\npub fn assert(b:bool) { if !b { panic!(\"assertion failed\") }\n} Here, the refined specification for assert says that you can only call it with true as the input. So if you write fn test(){ assert(2 + 2 == 4); assert(2 + 2 == 5); // fails to type check\n} then flux will complain that error[FLUX]: precondition might not hold --> src/basics.rs:12:5 |\n12 | assert(2 + 2 == 5); // fails to type check | ^^^^^^^^^^^^^^^^^^ meaning that the call to assert fails to establish that the input is indeed true (as of course, in this case, it is not!)","breadcrumbs":"Introducing Flux » Pre-Conditions","id":"42","title":"Pre-Conditions"},"43":{"body":"It's not terribly exciting to only talk about fixed values like 10 or true. To be more useful, flux lets you index types by refinement parameters . For example, you can write #[flux::sig(fn(n:i32) -> bool[0 < n])]\npub fn is_pos(n: i32) -> bool { if 0 < n { true } else { false }\n} Here, the type says that is_pos takes as input some i32 indexed by n returns as output the bool indexed by 0 < n in other words, the output is true exactly when 0 < n. We might use this function to check that: pub fn test_pos(n: i32) { let m = if is_pos(n) { n - 1 } else { 0 }; assert(0 <= m);\n}","breadcrumbs":"Introducing Flux » Index Parameters and Expressions","id":"43","title":"Index Parameters and Expressions"},"44":{"body":"Often we don't care about the exact value of a thing -- but just care about some properties that it may have. For example, we don't care that an i32 is equal to 5 or 10 or n but that it is non-negative. Type Meaning i32{v: 0 < v} The set of i32 values that positive i32{v: n <= v} The set of i32 values greater than or equal to n Flux allows such specifications by pairing plain Rust types with assertions [1] that constrain the value. For example, we can rewrite mk_10 with the output type i32{v:0 i32{v: 0 < v})]\npub fn mk_ten() -> i32 { 5 + 5\n} Similarly, you might specify that a function that computes the absolute value of an i32 with a type which says the result is non-negative and exceeds the input n. #[flux::sig(fn (n:i32) -> i32{v:0<=v && n<=v})]\npub fn abs(n: i32) -> i32 { if 0 <= n { n } else { 0 - n }\n} As a last example, you might write a function to compute the factorial of n #[flux::sig(fn (n:i32) -> i32{v:1<=v && n<=v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; let mut res = 1; while i < n { i += 1; res = res * i; } res\n} Here the specification says the input must be non-negative, and the output is at least as large as the input. Note, that unlike the previous examples, here we're actually changing the values of i and res. Can you guess why the copilot suggestions failed to pass flux, and what refinements were inferred for i and res in the fixed code at the end?","breadcrumbs":"Introducing Flux » Existential Types","id":"44","title":"Existential Types"},"45":{"body":"In this post, we saw how Flux lets you decorate basic Rust types like i32 and bool with indices and constraints that let you respectively refine the sets of values that inhabit that type, and specify contracts on functions that state pre-conditions on the sets of legal inputs that they accept, and post-conditions that describe the outputs that they produce. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates, without sacrificing thread- or memory-safety. Next time, we'll see how Flux melds refinements and Rust's ownership to make refinements happily coexist with imperative code. These are not arbitrary Rust expressions but a subset of expressions from logics that can be efficiently decided by SMT Solvers","breadcrumbs":"Introducing Flux » Summary","id":"45","title":"Summary"},"46":{"body":"Online demo Previously we saw how to refine basic Rust types like i32 and bool with indices and constraints to constrain the set of values described by those types. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates , via the clever type system that keeps an eye on the ownership of resources to make sure that aliasing and mutation cannot happen at the same time. Next, lets see how Flux melds refinements and Rust's ownership mechanisms to make refinements work in the imperative setting.","breadcrumbs":"Ownership in Flux » Ownership in Flux","id":"46","title":"Ownership in Flux"},"47":{"body":"Rust's most basic form of ownership is exclusive ownership, in which exactly one variable in a function has the right to mutate a memory location. When a location is exclusively owned, we can be sure that there are no other references to it, which lets flux update the type whenever the location is changed. For example, consider the program #[flux::sig(fn () -> i32[3])]\npub fn mk_three() -> i32 { let mut r = 0; // r: i32[0] r += 1; assert(r == 1); // r: i32[1] r += 1; assert(r == 2); // r: i32[2] r += 1; assert(r == 3); // r: i32[3] r\n} The variable r has different types at each point inside mk_three. It starts off as i32[0]. The first increment changes it to i32[1], then i32[2] and finally, the returned type i32[3]. This exclusive ownership mechanism is at work in the factorial example we signed off with previously #[flux::sig(fn (n:i32{0 <= n}) -> i32{v:n <= v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; // i: i32[0] let mut r = 1; // r: i32[1] while i < n { // i: i32{v:0<=v<=n} // r: i32{v:1<=v && i<=v} i += 1; r = r * i; } r\n} In the above code, i and r start off at 0 and 1 but then Rust infers (a story for another day) that inside the while-loop [1] i has type i32{v:0<=v && v < n} r has type i32{v:1<=v && i <= v} and hence, upon exit since i == n we get that the result is at least n.","breadcrumbs":"Ownership in Flux » Exclusive Ownership","id":"47","title":"Exclusive Ownership"},"48":{"body":"Exclusive ownership suffices for simple local updates like in factorial. However, for more complex data, functions must temporarily relinquish ownership to allow other functions to mutate the data. Rust cleverly allows this via the notion of borrowing using two kinds of references that give callees temporary access to a memory location. The simplest kind of references are of the form &T which denote read-only access to a value of type T. For example, we might write abs to take a shared reference to an i32 #[flux::sig(fn (p: &i32[@n]) -> i32{v:0<=v && n<=v})]\npub fn abs(p: &i32) -> i32 { let n = *p; if 0 <= n { n } else { 0 - n }\n} Notice that the input type has changed: the function now Accepts p a reference to an i32 whose value is n as denoted by @n Returns an i32 that is non-negative and larger than n The @ marks the n as a refinement parameter whose value is automatically computed by flux during type checking. So, for example, Flux can check the below code by automatically determining that the refinement parameter at the call-site is 10. pub fn test_abs() { let z = 10; assert(0 <= abs(&z)) assert(10 <= abs(&z))\n}","breadcrumbs":"Ownership in Flux » Borrowing: Shared References","id":"48","title":"Borrowing: Shared References"},"49":{"body":"As an aside, we have secretly been using refinement parameters like @n all along. For example, Flux automatically desugars the signature fn(n:i32{0 <= n} -> ... that we wrote for factorial into fn ({i32[@n] : 0 <= n}) -> i32{v:n <= v} where @n is a refinement parameter that is implicitly determined from the rust parameter n:i32. However, explicit parameters are essential to name the value of what a reference points to. In abs the rust parameter p names the reference but the @n names the (input) value and lets us use it to provide more information about the output of abs. Flux is modular in that the only information it knows about the implementation of abs is the signature: for example if we remove the fact that the output exceeds n then Flux will reject the assertion 10 <= abs(&z).","breadcrumbs":"Ownership in Flux » Refinement Parameters","id":"49","title":"Refinement Parameters"},"5":{"body":"You can use rustc-flux as you would use rustc. For example, the following command checks the file test.rs. rustc-flux path/to/test.rs The flux binary accepts the same flags as rustc. You could for example check a file as a library instead of a binary like so rustc-flux --crate-type=lib path/to/test.rs","breadcrumbs":"Run » Running on a File: rustc-flux","id":"5","title":"Running on a File: rustc-flux"},"50":{"body":"References of type &mut T denote mutable references that can be used to (read and) write or update the contents of a T value. Crucially, Rust ensures that while there may be multiple read-only (shared) references to a location, there is at most one active writeable (mutable) reference at any point in time. Flux exploits the semantics of &mut T to treat T as an invariant of the underlying data. As an example, consider the following function that decrements the value of a mutable reference while ensuring the data is non-negative: #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { *p = *p - 1;\n} Flux will complain with the following message error[FLUX]: assignment might be unsafe --> src/basics.rs:13:9 |\n13 | *p = *p - 1; | ^^^^^^^^^^^ as in fact, we may be writing a negative value into *p if, for example, the old value was zero. We can fix this code by guarding the update with a test that ensures the original contents are in fact non-zero #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { let n = *p; if n != 0 { *p = n - 1; }\n} at which point Flux is happy to sign off on the code.","breadcrumbs":"Ownership in Flux » Borrowing: Mutable References","id":"50","title":"Borrowing: Mutable References"},"51":{"body":"Flux uses Rust's borrowing rules to track invariants even when there may be aliasing. As an example, consider the function #[flux::sig(fn (bool) -> i32{v:0 <= v})]\nfn test_alias(z: bool) -> i32 { let mut x = 1; // x: i32[1] let mut y = 2; // y: i32[2] let r = if z { &mut x } else { &mut y }; // r: &mut i32{v:0 <= v} decr(r); *r\n} The reference r could point to either x or y depending on the (unknown) value of the boolean z. Nevertheless, Flux determines that both references &mut x and &mut y point to values of the more general type i32{v:0<=v} and hence, infers r : &mut i32{v:0<=v} which allows us it to then call decr with the reference and guarantee the result (after decr) is still non-negative.","breadcrumbs":"Ownership in Flux » Aliased References","id":"51","title":"Aliased References"},"52":{"body":"In many situations, we want to lend a value to another function that actually changes the value's (refinement) type upon exit. For example, consider the following function to increment a reference to a non-negative i32 #[flux::sig(fn (p: &mut i32{v:0 <= v}))]\nfn incr(p: &mut i32) { *p += 1\n} Recall that Flux is modular in that the only information it has about incr is what is said in the signature. The signature for incr only says p remains non-negative: Flux does not know that incr actually increments the value of p. Hence, Flux fusses that the following assert may fail even though its patently obvious that it will succeed! To verify test_incr we need a signature for incr that says that its output is indeed one greater [2] than its input. Flux extends Rust with the notion of strong references of the form &strg T which refine Rust's &mut T to grant exclusive access to the underlying T. Crucially, strong references also let us specify how the type is updated when the function exits [3] . Thus, we can use strong references to type incr as #[flux::sig(fn(p: &strg i32[@n]) ensures p:i32[n+1])]\nfn incr(p: &mut i32) { *p += 1\n} The Flux signature refines the plain Rust one to specify that p is a strong reference to an i32, the input type of *p is i32[n], and the output type of *p is i32[n+1]. With this specification, Flux merrily checks test_incr, by determining that the refinement parameter @n is 10 and hence, that upon return x: i32[11].","breadcrumbs":"Ownership in Flux » Borrowing: Strong References","id":"52","title":"Borrowing: Strong References"},"53":{"body":"To sum up, Flux exploits Rust's ownership mechanisms to track properties of shared (&T) and mutable (&mut T) references, and additionally adds a strong (&strg T) reference -- a special case of &mut -- to support the cases where the type itself is changed by a call. Next, we'll see how refinements and ownership yield a simple refined API for vectors that lets Flux check bounds safety at compile time... For those familiar with the term, these types are loop invariants [2] : Setting aside the issue of overflows for now [3] : Thereby allowing so-called strong updates in the type specifications","breadcrumbs":"Ownership in Flux » Summary","id":"53","title":"Summary"},"54":{"body":"Online demo While rustc has a keen eye for spotting nasty bugs at compile time, it is not omniscient. We've all groaned in dismay at seeing deployed code crash with messages like panicked at 'index out of bounds: the len is ... but the index is ...' Next, lets see how flux's refinement and ownership mechanisms let us write a refined vector API whose types track vector sizes and ensure --- at compile time --- that vector accesses cannot fail at runtime.","breadcrumbs":"Refined Vectors » Refined Vectors","id":"54","title":"Refined Vectors"},"55":{"body":"To begin with, we will defined a refined vector type which is simply a wrapper around the standard Vec type #[flux::refined_by(len: int)]\npub struct RVec { inner: Vec,\n} The #[flux::refined_by(len: int)] attribute tells flux that the type RVec struct is indexed by a len refinement which tracks the size of the underlying vector, just like the indices for i32 and bool tracked the actual value of the underlying integer or boolean ). The idea is that the type RVec[10] represents a vector of i32 size 10, and RVec{v:0 < v} represents a non-empty vector of bool, and RVec[n]>[m] represents a vector of vectors of f32 of size m and each of whose elements is a vector of size n.","breadcrumbs":"Refined Vectors » Refining Vectors to Track their Size","id":"55","title":"Refining Vectors to Track their Size"},"56":{"body":"Now that we can talk about the size of a vector, lets build up an API for creating and manipulating vectors. I suppose one must start with nothing: an empty vector. impl RVec { #[flux::trusted] #[flux::sig(fn() -> RVec[0])] pub fn new() -> Self { Self { inner: Vec::new() } }\n} The above implements RVec::new as a wrapper around Vec::new. The #[flux::trusted] attribute tells Flux there is nothing to \"check\" here, as we are defining the API itself and trusting that the implementation (using vec is correct). However, the signature says that callers of the RVec::new get back a vector indexed with 0 i.e. an empty vector.","breadcrumbs":"Refined Vectors » Creating Vectors","id":"56","title":"Creating Vectors"},"57":{"body":"An empty vector is a rather desolate thing. To be of any use, we need to be able to push values into the container, like so #[flux::trusted]\n#[flux::sig(fn(self: &strg RVec[@n], T) ensures self: RVec[n+1])]\npub fn push(&mut self, item: T) { self.inner.push(item);\n} The refined type for push says that it takes a strong reference (self) --- where strg means the refined type may be changed by the function --- to an RVec of size n and a value T and upon exit, the size of self is increased by 1.","breadcrumbs":"Refined Vectors » Pushing Values","id":"57","title":"Pushing Values"},"58":{"body":"Not much point stuffing things into a vector if we can't get them out again. For that, we might implement a pop method that returns the last element of the vector. Aha, but what if the vector is empty? You could return an Option or since we're tracking sizes, we could require that pop only be called with non-empty vectors. #[flux::trusted]\n#[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T ensures self: RVec[n-1])]\npub fn pop(&mut self) -> T { self.inner.pop().unwrap()\n}","breadcrumbs":"Refined Vectors » Popping Values","id":"58","title":"Popping Values"},"59":{"body":"Now already flux can start checking some code, for example if you push two elements, then you can pop twice, but flux will reject the third pop at compile-time In fact, the error message from flux will point to exact condition that does not hold error[FLUX]: precondition might not hold --> src/vectors.rs:24:5 |\n24 | v.pop(); | ^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:78:47 |\n78 | #[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T | ^^^^^","breadcrumbs":"Refined Vectors » Using the API","id":"59","title":"Using the API"},"6":{"body":"Flux is integrated with cargo and can be invoked in a package as follows: cargo flux By default, Flux won't verify a package unless it's explicitly enabled in the manifest. To do so add the following to Cargo.toml: [package.metadata.flux]\nenabled = true","breadcrumbs":"Run » Running on a package: cargo-flux","id":"6","title":"Running on a package: cargo-flux"},"60":{"body":"Perhaps we should peek at the size of the vector to make sure its not empty before we pop it. We can do that with a len method whose type says that the returned usize is, in fact, the size of the input vector #[flux::trusted]\n#[flux::sig(fn(&RVec[@n]) -> usize[n])]\npub fn len(&self) -> usize { self.inner.len()\n} Now, flux \"knows\" that after two pushes, the size of the vector is 2 and after the two pops, the size is 0 again","breadcrumbs":"Refined Vectors » Querying the Size","id":"60","title":"Querying the Size"},"61":{"body":"Of course, vectors are not just stacks , they also allow random access to their elements which is where those pesky panics occur, and where the refined vector API gets rather useful. Since we're tracking sizes, we can require that the method to get an element only be called with a valid index that is between 0 and the vector's size #[flux::sig(fn(&RVec[@n], i: usize{i < n}) -> &T)]\npub fn get(&self, i: usize) -> &T { &self.inner[i]\n} #[flux::sig(fn(&mut RVec[@n], i: usize{i < n}) -> &mut T)]\npub fn get_mut(&mut self, i: usize) -> &mut T { &mut self.inner[i]\n} With these refined get methods, flux can now spot the ``off-by-one'' error in the following code and accepts the fix [1] Its a bit gross to use get and get_mut directly, so instead we implement the Index and IndexMut traits for RVec which allows us to use the [] operator to access elements impl std::ops::Index for RVec { type Output = T; #[flux::sig(fn(&RVec[@n], i:usize{i < n}) -> &T)] fn index(&self, index: usize) -> &T { self.get(index) }\n} impl std::ops::IndexMut for RVec { #[flux::sig(fn(&mut RVec[@n], i:usize{i < n}) -> &mut T)] fn index_mut(&mut self, index: usize) -> &mut T { self.get_mut(index) }\n} And now the above vec_sum example looks a little nicer","breadcrumbs":"Refined Vectors » Random Access","id":"61","title":"Random Access"},"62":{"body":"Lets put the whole API to work in this \"memoized\" version of the fibonacci function which uses a vector to store the results of previous calls pub fn fib(n: usize) -> i32 { let mut r = RVec::new(); let mut i = 0; while i < n { if i == 0 { r.push(0); } else if i == 1 { r.push(1); } else { let a = r[i - 1]; let b = r[i - 2]; r.push(a + b); } i += 1; } r.pop()\n} Oops, flux is not happy with the call to pop at the end of the function which returns the last value as the result. error[FLUX]: precondition might not hold --> src/vectors.rs:40:5 |\n40 | r.pop() | ^^^^^^^ Flux complains that the vector may be empty and so the pop call may fail ... but why? Can you spot the problem? Indeed, we missed a \"corner\" case -- when n is 0 we skip the loop and so the vector is empty! Once we add a test for that, flux is happy.","breadcrumbs":"Refined Vectors » Memoization","id":"62","title":"Memoization"},"63":{"body":"As a last example, lets look at a simplified version of the binary_search method from std::vec , into which I've snuck a tiny little bug pub fn binary_search(vec: &RVec, x: i32) -> Result { let mut size = vec.len(); let mut left = 0; let mut right = size; while left <= right { let mid = left + size / 2; let val = vec[mid]; if val < x { left = mid + 1; } else if x < val { right = mid; } else { return Ok(mid); } size = right - left; } Err(left)\n} Flux complains in two places error[FLUX]: precondition might not hold --> src/vectors.rs:152:19 |\n152 | let val = vec[mid]; | ^^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:189:44 |\n189 | #[flux::sig(fn(&RVec[@n], usize{v : v < n}) -> &T)] | ^^^^^ error[FLUX]: arithmetic operation may overflow --> src/vectors.rs:160:9 |\n160 | size = right - left; | ^^^^^^^^^^^^^^^^^^^ The vector access may be unsafe as mid could be out of bounds! The size variable may underflow as left may exceed right! Can you the spot off-by-one and figure out a fix?","breadcrumbs":"Refined Vectors » Binary Search","id":"63","title":"Binary Search"},"64":{"body":"So, we saw how Flux's index and constraint mechanisms combine with Rust's ownership to let us write a refined vector API that ensures the safety of all accesses at compile time. Next time, we'll see how these mechanisms are compositional in that we can use standard type machinery to build up compound structures and APIs from simple ones. Why not use an iterator? We'll get there in due course!","breadcrumbs":"Refined Vectors » Summary","id":"64","title":"Summary"},"65":{"body":"Flux is a research project described in the paper","breadcrumbs":"About » About Flux","id":"65","title":"About Flux"},"66":{"body":"Flux is being developed by Nico Lehmann , Adam Geller Cole Kurashige Gilles Barthe Niki Vazou Ranjit Jhala","breadcrumbs":"About » Team","id":"66","title":"Team"},"67":{"body":"Flux is open-source and available here","breadcrumbs":"About » Code","id":"67","title":"Code"},"68":{"body":"This work was supported by the National Science Foundation, European Research Council, and by generous gifts from Microsoft Research.","breadcrumbs":"About » Thanks","id":"68","title":"Thanks"},"69":{"body":"This is a prototype! Use at your own risk. Everything could break and it will break.","breadcrumbs":"About » Limitations","id":"69","title":"Limitations"},"7":{"body":"The following example declares a function inc that returns an integer greater than the input. We use the nightly feature register_tool to register the flux tool in order to add refinement annotations to functions. #[flux::sig(fn(x: i32) -> i32{v: x < v})]\npub fn inc(x: i32) -> i32 { x - 1\n} You can save the above snippet in say test0.rs and then run rustc-flux --crate-type=lib path/to/test0.rs you should see in your output error[FLUX]: postcondition might not hold --> test0.rs:3:5 |\n3 | x - 1 | ^^^^^ as indeed x - 1 is not greater than x as required by the output refinement i32{v: x < v}. If you fix the error by replacing x - 1 with x + 1, you should get no errors in the output (the output may be empty, but in this case no output is a good thing). Read these chapters to learn more about what you specify and verify with flux.","breadcrumbs":"Run » A tiny example","id":"7","title":"A tiny example"},"8":{"body":"The flux-driver binary is a rustc driver (similar to how clippy works) meaning it uses rustc as a library to \"drive\" compilation performing additional analysis along the way. Running the binary requires dynamically linking a correct version of librustc. Thus, to avoid the hassle you should never execute it directly. Instead, use rustc-flux or cargo-flux.","breadcrumbs":"Run » A note about the flux-driver binary","id":"8","title":"A note about the flux-driver binary"},"9":{"body":"This section assumes you have installed flux, cargo-flux, and rustc-flux.","breadcrumbs":"Run » Editor Support","id":"9","title":"Editor Support"}},"length":70,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":2,"docs":{"32":{"tf":1.0},"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.0},"8":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.1622776601683795},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.0},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":3.1622776601683795},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"26":{"tf":2.449489742783178},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.449489742783178},"28":{"tf":2.8284271247461903},"29":{"tf":1.4142135623730951},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":5.477225575051661},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.3166247903554},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":9,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":2,"docs":{"10":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.449489742783178},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.449489742783178},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":2.0},"48":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"60":{"tf":1.0}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"51":{"tf":2.0},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":30,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.4641016151377544},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":14,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":12,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":5,"docs":{"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":3.872983346207417},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":2.8284271247461903},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":4.898979485566356},"26":{"tf":2.449489742783178},"28":{"tf":1.0},"32":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":12,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":7,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.449489742783178},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":2,"docs":{"32":{"tf":1.0},"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.3166247903554},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":16,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"8":{"tf":2.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.23606797749979},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.4142135623730951}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.23606797749979},"20":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":3.3166247903554},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.23606797749979},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":2.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"28":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":5.477225575051661},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":2.0},"4":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"49":{"tf":2.0},"5":{"tf":2.449489742783178},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.4641016151377544},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":9,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":2,"docs":{"10":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":3.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.449489742783178},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"12":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.8284271247461903},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":7,"docs":{"39":{"tf":2.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.23606797749979},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.6457513110645907},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":2.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"32":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"51":{"tf":2.23606797749979},"52":{"tf":2.6457513110645907},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":36,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"32":{"tf":1.0}}}},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.7320508075688772},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":19,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":2.0},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":12,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":4.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":3.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":5.0},"26":{"tf":2.6457513110645907},"28":{"tf":1.0},"32":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.0},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0990195135927845},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":13,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.449489742783178},"55":{"tf":3.1622776601683795},"56":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":7,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"title":{"root":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"14":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"5":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":11,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"40":{"tf":1.0},"43":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"60":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"37":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"19":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"57":{"tf":1.0},"58":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file +{"doc_urls":["index.html","guide/install.html#installing-flux","guide/install.html#requirements","guide/install.html#installing","guide/run.html#running-flux","guide/run.html#running-on-a-file-rustc-flux","guide/run.html#running-on-a-package-cargo-flux","guide/run.html#a-tiny-example","guide/run.html#a-note-about-the-flux-driver-binary","guide/run.html#editor-support","guide/run.html#rust-analyzer-in-vscode","guide/run.html#configuration","guide/run.html#environment-variables","guide/run.html#config-file","guide/run.html#crate-config","guide/run.html#query-caching","guide/specs.html#flux-specification-guide","guide/specs.html#refinement-types","guide/specs.html#argument-syntax","guide/specs.html#extern-specs","guide/specs.html#import-the-procedural-macros","guide/specs.html#extern-functions","guide/specs.html#extern-structs-and-impls","guide/specs.html#grammar-of-refinements","dev/develop.html#developers-guide","dev/develop.html#regression-tests","dev/develop.html#testing-flux-on-a-file","dev/develop.html#reporting-locations-where-errors-are-emitted","dev/develop.html#running-outside-the-project","dev/develop.html#profiling-flux","dev/develop.html#sample-output","dev/architecture.html#high-level-architecture","dev/architecture.html#crates","dev/architecture.html#intermediate-representations","dev/architecture.html#surface","dev/architecture.html#fhir","dev/architecture.html#rty","dev/architecture.html#simplified-rustc","dev/architecture.html#lifting-and-refining","blog/01-introducing-flux.html#introducing-flux","blog/01-introducing-flux.html#indexed-types","blog/01-introducing-flux.html#post-conditions","blog/01-introducing-flux.html#pre-conditions","blog/01-introducing-flux.html#index-parameters-and-expressions","blog/01-introducing-flux.html#existential-types","blog/01-introducing-flux.html#summary","blog/02-ownership.html#ownership-in-flux","blog/02-ownership.html#exclusive-ownership","blog/02-ownership.html#borrowing-shared-references","blog/02-ownership.html#refinement-parameters","blog/02-ownership.html#borrowing-mutable-references","blog/02-ownership.html#aliased-references","blog/02-ownership.html#borrowing-strong-references","blog/02-ownership.html#summary","blog/03-vectors.html#refined-vectors","blog/03-vectors.html#refining-vectors-to-track-their-size","blog/03-vectors.html#creating-vectors","blog/03-vectors.html#pushing-values","blog/03-vectors.html#popping-values","blog/03-vectors.html#using-the-api","blog/03-vectors.html#querying-the-size","blog/03-vectors.html#random-access","blog/03-vectors.html#memoization","blog/03-vectors.html#binary-search","blog/03-vectors.html#summary","about.html#about-flux","about.html#team","about.html#code","about.html#thanks","about.html#limitations"],"index":{"documentStore":{"docInfo":{"0":{"body":25,"breadcrumbs":1,"title":1},"1":{"body":0,"breadcrumbs":3,"title":2},"10":{"body":26,"breadcrumbs":4,"title":3},"11":{"body":0,"breadcrumbs":2,"title":1},"12":{"body":117,"breadcrumbs":3,"title":2},"13":{"body":68,"breadcrumbs":3,"title":2},"14":{"body":36,"breadcrumbs":3,"title":2},"15":{"body":23,"breadcrumbs":3,"title":2},"16":{"body":5,"breadcrumbs":4,"title":3},"17":{"body":209,"breadcrumbs":3,"title":2},"18":{"body":77,"breadcrumbs":3,"title":2},"19":{"body":41,"breadcrumbs":3,"title":2},"2":{"body":10,"breadcrumbs":2,"title":1},"20":{"body":38,"breadcrumbs":4,"title":3},"21":{"body":131,"breadcrumbs":3,"title":2},"22":{"body":214,"breadcrumbs":4,"title":3},"23":{"body":61,"breadcrumbs":3,"title":2},"24":{"body":0,"breadcrumbs":3,"title":2},"25":{"body":145,"breadcrumbs":3,"title":2},"26":{"body":103,"breadcrumbs":4,"title":3},"27":{"body":33,"breadcrumbs":5,"title":4},"28":{"body":82,"breadcrumbs":4,"title":3},"29":{"body":17,"breadcrumbs":3,"title":2},"3":{"body":77,"breadcrumbs":2,"title":1},"30":{"body":150,"breadcrumbs":3,"title":2},"31":{"body":18,"breadcrumbs":5,"title":3},"32":{"body":183,"breadcrumbs":3,"title":1},"33":{"body":34,"breadcrumbs":4,"title":2},"34":{"body":19,"breadcrumbs":3,"title":1},"35":{"body":27,"breadcrumbs":3,"title":1},"36":{"body":21,"breadcrumbs":3,"title":1},"37":{"body":23,"breadcrumbs":4,"title":2},"38":{"body":32,"breadcrumbs":4,"title":2},"39":{"body":81,"breadcrumbs":4,"title":2},"4":{"body":6,"breadcrumbs":3,"title":2},"40":{"body":26,"breadcrumbs":4,"title":2},"41":{"body":55,"breadcrumbs":4,"title":2},"42":{"body":61,"breadcrumbs":4,"title":2},"43":{"body":64,"breadcrumbs":5,"title":3},"44":{"body":154,"breadcrumbs":4,"title":2},"45":{"body":72,"breadcrumbs":3,"title":1},"46":{"body":56,"breadcrumbs":4,"title":2},"47":{"body":141,"breadcrumbs":4,"title":2},"48":{"body":123,"breadcrumbs":5,"title":3},"49":{"body":72,"breadcrumbs":4,"title":2},"5":{"body":31,"breadcrumbs":5,"title":4},"50":{"body":116,"breadcrumbs":5,"title":3},"51":{"body":82,"breadcrumbs":4,"title":2},"52":{"body":153,"breadcrumbs":5,"title":3},"53":{"body":67,"breadcrumbs":3,"title":1},"54":{"body":48,"breadcrumbs":4,"title":2},"55":{"body":70,"breadcrumbs":6,"title":4},"56":{"body":60,"breadcrumbs":4,"title":2},"57":{"body":48,"breadcrumbs":4,"title":2},"58":{"body":46,"breadcrumbs":4,"title":2},"59":{"body":50,"breadcrumbs":4,"title":2},"6":{"body":24,"breadcrumbs":5,"title":4},"60":{"body":40,"breadcrumbs":4,"title":2},"61":{"body":122,"breadcrumbs":4,"title":2},"62":{"body":80,"breadcrumbs":3,"title":1},"63":{"body":108,"breadcrumbs":4,"title":2},"64":{"body":39,"breadcrumbs":3,"title":1},"65":{"body":5,"breadcrumbs":1,"title":1},"66":{"body":15,"breadcrumbs":1,"title":1},"67":{"body":5,"breadcrumbs":1,"title":1},"68":{"body":12,"breadcrumbs":1,"title":1},"69":{"body":6,"breadcrumbs":1,"title":1},"7":{"body":85,"breadcrumbs":3,"title":2},"8":{"body":39,"breadcrumbs":5,"title":4},"9":{"body":8,"breadcrumbs":3,"title":2}},"docs":{"0":{"body":"Flux is a refinement type checker for Rust that lets you specify a range of correctness properties and have them be verified at compile time. See the examples -- listed in the summary on the left -- to learn about Refinement types and Rust. You can try it online here .","breadcrumbs":"Introduction","id":"0","title":"Introduction"},"1":{"body":"","breadcrumbs":"Install » Installing Flux","id":"1","title":"Installing Flux"},"10":{"body":"Add this to the workspace settings i.e. .vscode/settings.json { \"rust-analyzer.check.overrideCommand\": [ \"cargo\", \"flux\", \"--workspace\", \"--message-format=json-diagnostic-rendered-ansi\" ]\n} Note: Make sure to edit the paths in the above snippet to point to the correct locations on your machine.","breadcrumbs":"Run » Rust-Analyzer in VSCode","id":"10","title":"Rust-Analyzer in VSCode"},"11":{"body":"","breadcrumbs":"Run » Configuration","id":"11","title":"Configuration"},"12":{"body":"You can set various env variables to customize the behavior of flux. FLUX_CONFIG tells flux where to find a config file for these settings. By default, flux searches its directory for a flux.toml or .flux.toml. FLUX_SYSROOT tells cargo-flux and rustc-flux where to find the flux-driver binary. Defaults to the default installation location in ~/.flux. FLUX_LOG_DIR=path/to/log/ sets the directory where constraints, timing and cache are saved. Defaults to ./log/. FLUX_DUMP_CONSTRAINT=1 tell flux to dump constraints generated for each function. FLUX_DUMP_CHECKER_TRACE=1 saves the checker's trace (useful for debugging!) FLUX_DUMP_TIMINGS=1 saves the profile information FLUX_DUMP_MIR=1 saves the low-level MIR for each analyzed function FLUX_POINTER_WIDTH=N the size of (either 32 or 64), used to determine if an integer cast is lossy (default 64). FLUX_CHECK_DEF=name only checks definitions containing name as a substring FLUX_CACHE=1\" switches on query caching and saves the cache in FLUX_CACHE_FILE FLUX_CACHE_FILE=file.json customizes the cache file, default FLUX_LOG_DIR/cache.json FLUX_CHECK_OVERFLOW=1 checks for over and underflow on arithmetic integer operations, default 0. When set to 0, it still checks for underflow on unsigned integer subtraction.","breadcrumbs":"Run » Environment Variables","id":"12","title":"Environment Variables"},"13":{"body":"The config file is a .toml file that contains on each line the lowercase name of a flux command line flag without the FLUX_ prefix. Set environment variables take priority over the config file. The config file should be in the project root. For example, suppose your project root contains the following flux.toml. log_dir = \"./test\"\ndump_timings = true\ndump_mir = true\ncache = true and you run in the project root FLUX_DUMP_MIR=0 cargo-flux check then flux will create the directory ./test/ and write ./test/timings, a file containing profiling information. It will not dump the MIR because that setting was overridden by setting the environment variable FLUX_DUMP_MIR=0.","breadcrumbs":"Run » Config file","id":"13","title":"Config file"},"14":{"body":"Some flags can be configured on a per-crate basis using the custom inner attribute #![flux::cfg]. This annotation relies on the unstable custom inner attributes feature. To be able to use with a non-nightly compiler you have to put it under a cfg_attr. For example, to enable overflow checking: #![cfg_attr(flux, flux::cfg(check_overflow = true))] The only flag supported now is overflow checking.","breadcrumbs":"Run » Crate Config","id":"14","title":"Crate Config"},"15":{"body":"FLUX_CACHE=1 persistently caches the safe fixpoint queries for each DefId in FLUX_LOG_DIR/FLUX_CACHE_FILE, and on subsequent runs, skips queries that are already in the cache, which considerably speeds up cargo-flux check on an entire crate.","breadcrumbs":"Run » Query Caching","id":"15","title":"Query Caching"},"16":{"body":"This is a WIP guide to writing specifications in flux.","breadcrumbs":"Specs » Flux Specification Guide","id":"16","title":"Flux Specification Guide"},"17":{"body":"Indexed Type : An indexed type B[r] is composed of a base Rust type B and a refinement index r. The meaning of the index depends on the type. Some examples are i32[n]: denotes the (singleton) set of i32 values equal to n. List[n]: values of type List of length n. Refinement parameter : Function signatures can be parametric on refinement variables. Refinement parameters are declared using the @n syntax. For example, the following signature: fn(i32[@n]) -> i32[n + 1] binds n over the entire scope of the function to specify that it takes an i32 equal to n and returns an i32 equal to n + 1. This is analogous to languages like Haskell where a lower case letter can be used to quantify over a type, e.g., the type a -> a in Haskell is polymorphic on the type a which is bound for the scope of the entire function type. Existential Type : An existential type B{v: r(v)} is composed of a base type B, a refinement variable v and a refinement predicate r on v. Intuitively, a Rust value x has type B{v: r(v)} if there exists a refinement value a such that r(a) holds and x has type B[x]. i32{v: v > 0}: set of positive i32 values. List{v: v > 0}: set of non-empty lists. Constraint Type : A constraint type has the form {T | r} where T is any type (not just a base type). Intuitively, a value has type {T | r} if it has type T and also r holds. They can be used to constraint a refinement parameter. For example, the following signature constraint the refinement parameter n to be less than n. fn({i32[@n] | n < 10}) -> i32[n + 1] Constraint types serve a similar role as existentials as they can also be used to constraint some refinement value with a predicate, but an existential type can only be used to constraint refinement variable that it bound locally, in contrast constraint types can be used to constraint a \"non-local\" parameter. This can be seen in the example above where the parameter n cannot be bound locally because it has to be used in the return type.","breadcrumbs":"Specs » Refinement Types","id":"17","title":"Refinement Types"},"18":{"body":"The @n syntax used to declare refinements parameters can be hard to read sometimes. Flux also supports a syntax that let you bind refinement parameters using colons similar to the syntax used to declare arguments in a function. We call this argument syntax . This syntax desugars to one of the refinements forms discussed above. For example, the following signature fn(x: i32, y: i32) -> i32[x + y] desugars to fn(i32[@x], i32[@y]) -> i32[x + y] It is also possible to attach some constraint to the parameters when using argument syntax. For example, to specify that y must be greater than x using argument syntax we can write: fn(x: i32, y: i32{x > y}) -> i32[x + y] This will desugar to: fn(i32[@x], {i32[@y] | x > y}) -> i32[x + y]","breadcrumbs":"Specs » Argument Syntax","id":"18","title":"Argument Syntax"},"19":{"body":"Sometimes you may want to refine a struct or function that outside your code. We refer to such a specification as an \"extern spec,\" which is short for \"external specification.\" Flux right now has rudimentary support for extern specs: they are supported for functions, impls, and structs. Impls are only supported for structs and if you have multiple impls for a struct (such as &[T] and [T]), those may conflict. Structs only support opaque refinements.","breadcrumbs":"Specs » Extern specs","id":"19","title":"Extern specs"},"2":{"body":"rustup liquid-fixpoint z3 Be sure that the liquid-fixpoint and z3 executables are in your $PATH.","breadcrumbs":"Install » Requirements","id":"2","title":"Requirements"},"20":{"body":"In order to use an extern spec you need to add a dependency on flux_rs . Right now this needs to be done as a local dependency since it is not published. Below is an example of how you can include it, although the version may be different. [dependencies]\nflux-rs = { path = \"path-to-flux/flux/flux-rs\", version = \"0.1.0\" } Then in your code you will need to include the extern_spec attribute macro. use flux_rs::extern_spec;","breadcrumbs":"Specs » Import the procedural macros","id":"20","title":"Import the procedural macros"},"21":{"body":"An example of refining an extern function can be found here . To define an extern spec on a function, you need to do three things, which happen to correspond to each of the below lines. #[extern_spec(std::mem)]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\nfn swap(a: &mut i32, b: &mut i32); Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::mem. You can use this path to qualify the function. So in the above example, the function we are targeting has the full path of std::mem::swap. Add a #[flux::sig(...)] attribute. This is required for any extern spec on a function. This signature behaves as if the #[flux::trusted] attribute was added, because we can't actually check the implementation. We just verify some simple things, like that the function arguments have compatible types. Write a function stub that matches the external function. If you do the above, you can use std::mem::swap as if it were refined by the above type. You shouldn't need to know the details, but here's how the macro works. It parses the std::mem into a module path and then transforms the function into #[flux::extern_spec]\n#[flux::sig(fn(&mut i32[@a], &mut i32{v : a < v }) -> ())]\n#[allow(unused, dead_code)]\nfn __flux_extern_spec_swap(a: &mut i32, b: &mut i32) { std::mem::swap(a, b)\n} It does this to get information about the function std::mem::swap and its arguments (this turns out to be difficult to do without giving the compiler something to inspect and type check).","breadcrumbs":"Specs » Extern functions","id":"21","title":"Extern functions"},"22":{"body":"An example of refining an extern struct and impl can be found here . A simpler example just involving structs can be found here . The syntax for an extern spec on a struct is very similar to that for a function. Once again, each line in the example happens to correspond to a step. #[extern_spec(std::string)]\n#[flux::refined_by(len: int)]\nstruct String; Add the #[extern_spec] attribute. This attribute optionally takes a path; in the above example, this is std::string. You can use this path to qualify the function. So in the above example, the struct we are targeting has the full path of std::string::String. Add a #[flux::refined_by(...)] attribute. This is required for any extern spec on a struct. Right now these attributes behave as if they were opaque (#[flux::opaque]), although we may support non-opaque extern structs. Write a stub for the extern struct. If you do the above, you can use std::string::String as if it were refined by an integer index. The syntax for an extern impl is a little different than that for functions or structs. #[extern_spec(std::string)]\nimpl String { #[flux::sig(fn() -> String[0])] fn new() -> String; #[flux::sig(fn(&String[@n]) -> usize[n])] fn len(s: &String) -> usize;\n} You still need to add the #[extern_spec] attribute, with the same optional argument of the path as above. You need to write out the impl block for the struct you want to refine. This struct does not need an extern spec, since by refining the impl you're only refining its methods. Write an extern spec for each function you wish to refine (this may be a subset). This is written just like a function extern spec with the caveat that the self parameter is not presently supported. So for example, instead of writing fn len(&self) -> usize;, you need to write fn len(s: &String) -> usize;. If you do the above, you can use the above methods ofstd::string::String as if they were refined. You shouldn't need to know the details, but here's how the above two macros expand. For structs: #[flux::extern_spec]\n#[allow(unused, dead_code)]\n#[flux::refined_by(len: int)]\nstruct __FluxExternSpecString(std::string::String); For impls (this was translated manually so there might be some bugs): #[allow(unused, dead_code)]\nstruct __FluxExternImplStructString; #[allow(unused, dead_code)]\nimpl __FluxExternImplStructString { #[flux::extern_spec] #[flux::sig(fn() -> String[0])] #[allow(unused, dead_code)] fn __flux_extern_spec_new() -> String { std::string::String::new::<>() } #[flux::extern_spec] #[flux::sig(fn(&String[@n]) -> usize[n])] #[allow(unused, dead_code)] fn __flux_extern_spec_len(s: &String) -> usize { std::string::String::len::<>(s) }\n}","breadcrumbs":"Specs » Extern structs and impls","id":"22","title":"Extern structs and impls"},"23":{"body":"r ::= n // numbers 1,2,3... | x // identifiers x,y,z... | x.f // index-field access | r + r // addition | r - r // subtraction | n * e // multiplication by constant | if r { r } else { r } // if-then-else | f(r...) // function application | true | false // booleans | r == r // equality | r != r // not equal | r < r // less than | r <= r // less than or equal | r > r // greater than | r >= r // greater than or equal | r || r // disjunction | r && r // conjunction | r => r // implication | !r // negation","breadcrumbs":"Specs » Grammar of Refinements","id":"23","title":"Grammar of Refinements"},"24":{"body":"","breadcrumbs":"Develop » Developer's Guide","id":"24","title":"Developer's Guide"},"25":{"body":"You can run the various regression tests in the tests/pos and tests/neg directories using cargo xtask test This will build the flux binary and then run it against the entire test suite. You can optionally pass a filter to only run tests containing some substring. For example: $ cargo xtask test impl_trait Compiling xtask v0.1.0 (/path/to/flux/xtask) Finished dev [unoptimized + debuginfo] target(s) in 0.29s Running `target/debug/xtask test impl_trait`\n$ cargo build Finished dev [unoptimized + debuginfo] target(s) in 0.05s\n$ cargo test -p flux-tests -- --test-args impl_trait Compiling flux-tests v0.1.0 (/path/to/flux/flux-tests) Finished test [unoptimized + debuginfo] target(s) in 0.62s Running tests/compiletest.rs (target/debug/deps/compiletest-1241128f1f51caa4) running 5 tests\ntest [ui] pos/surface/impl_trait04.rs ... ok\ntest [ui] pos/surface/impl_trait03.rs ... ok\ntest [ui] pos/surface/impl_trait01.rs ... ok\ntest [ui] pos/surface/impl_trait00.rs ... ok\ntest [ui] pos/surface/impl_trait02.rs ... ok test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 191 filtered out; finished in 0.10s running 2 tests\ntest [compile-fail] neg/surface/impl_trait00.rs ... ok\ntest [compile-fail] neg/surface/impl_trait02.rs ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 207 filtered out; finished in 0.09s","breadcrumbs":"Develop » Regression Tests","id":"25","title":"Regression Tests"},"26":{"body":"When working on Flux, you may want to test your changes by running it against a test file. You can use cargo xtask run to run Flux on a single input file. The command will set appropriate flags to be able to use custom Flux attributes and macros, plus some extra flags useful for debugging. For example: $ cat test.rs\n#[flux::sig(fn(x: i32) -> i32[x + 1])]\nfn add1(x: i32) -> i32 { x + 1\n}\n$ cargo xtask run test.rs The command will use a super set of the flags passed when running regression tests. Thus, a common workflow is to identify a failing test and run it directly with cargo xtask run, or alternatively copy it to a different file. You may also find useful to create a directory in the root of the project and add it to .git/info/exclude . You can keep files there, outside of version control, and test Flux against them. I have a directory called attic/ where I keep a file named playground.rs. To run Flux on it, I do cargo xtask run attic/playground.rs.","breadcrumbs":"Develop » Testing Flux on a File","id":"26","title":"Testing Flux on a File"},"27":{"body":"When you use cargo xtask run you'll see that we report the location an error was emitted, e.g., error[FLUX]: refinement type error --> attic/playground.rs:4:5 |\n4 | 0 | ^ a postcondition cannot be proved\n-Ztrack-diagnostics: created at crates/flux-refineck/src/lib.rs:114:15 <------- this You can also pass -Ztrack-diagnostics=y to enable it if you are not using cargo xtask run","breadcrumbs":"Develop » Reporting locations where errors are emitted","id":"27","title":"Reporting locations where errors are emitted"},"28":{"body":"To run Flux in a package outside the flux repo you need to install the binaries globally. You can do that using cargo xtask install. If you are continuously testing new changes it could be annoying to do it each time. To deal with this, you can set the FLUX_SYSROOT environment variable to change the location where cargo-flux and rustc-flux load the flux-driver. You can set it globally to point to the target/debug directory inside your local copy of the repo. This way you won't have to run cargo xtask install after every change, and you can be sure you'll be using the latest local debug build. Just be aware that the rustc-flux and cargo-flux binaries are built for a specific toolchain, and you will get a dynamic linking error if the flux-driver was compiled with a different one. This is to say, you should at least run cargo xtask install every time after the toolchain is updated.","breadcrumbs":"Develop » Running outside the project","id":"28","title":"Running outside the project"},"29":{"body":"Set FLUX_DUMP_TIMINGS=true to have flux write timing diagnostics to ./log/timings. Right now this is extremely simple, it just provides some details for the spans under flux_typeck and flux_driver.","breadcrumbs":"Develop » Profiling Flux","id":"29","title":"Profiling Flux"},"3":{"body":"The only way to use flux is to build it from source. First you need to clone the repository git clone https://github.com/flux-rs/flux\ncd flux To build the source you need a nightly version of rustc. We pin the version using a toolchain file (more info here ). If you are using rustup, no special action is needed as it should install the correct rustc version and components based on the information on that file. Next, run the following to build and install flux binaries cargo xtask install This will install two binaries rustc-flux and cargo-flux in your cargo home. These two binaries should be used respectively to run flux on either a single file or on a project using cargo. The installation process will also copy some files to $HOME/.flux.","breadcrumbs":"Install » Installing","id":"3","title":"Installing"},"30":{"body":"Below is a sample output for an invocation of cargo-flux check that took 19 seconds. The missing 2 seconds approximately accounts for the time it takes for cargo check to run. Note that check_crate contains everything running under check_top, which is why the sum of the spans is greater than 19 seconds. check_top Checker::infer num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 2.62ms max: 24.12ms total time: 229.64ms Checker::check num events: 205 min non-zero: 0.52ms 1st quartile: 0.52ms 2nd quartile: 1.05ms 3rd quartile: 5.24ms max: 159.91ms total time: 2028.47ms FixpointCtx::check num events: 205 min non-zero: 22.02ms 1st quartile: 26.21ms 2nd quartile: 28.31ms 3rd quartile: 40.37ms max: 1867.51ms total time: 9106.36ms\ntotal time: 11364.47ms check_crate Callbacks::check_wf num events: 1 min non-zero: 18.35ms 1st quartile: 18.87ms 2nd quartile: 18.87ms 3rd quartile: 18.87ms max: 18.87ms total time: 18.87ms Callbacks::check_crate num events: 1 min non-zero: 16986.93ms 1st quartile: 16995.32ms 2nd quartile: 16995.32ms 3rd quartile: 16995.32ms max: 16995.32ms total time: 16995.32ms\ntotal time: 17014.19ms","breadcrumbs":"Develop » Sample output","id":"30","title":"Sample output"},"31":{"body":"Flux is implemented as a compiler driver . We hook into the compiler by implementing the Callbacks trait. The implementation is located is in the flux-driver crate, and it is the main entry point to Flux.","breadcrumbs":"Develop » Architecture » High-level Architecture","id":"31","title":"High-level Architecture"},"32":{"body":"crates/flux-bin: Contains the cargo-flux and rustc-flux binaries used to launch the flux-driver. crates/flux-common: Common utility definitions used across all crates. crates/flux-config: Crate containing logic associated with global configuration flags that change the behavior of Flux, e.g, to enable or disable overflow checking. crates/flux-desugar: Implementation of name resolution and desugaring from Flux surface syntax into Flux high-level intermediate representation (fhir). This includes name resolution. crates/flux-driver: Main entry point to Flux. It contains the flux-driver binary and the implementation of the Callbacks trait. crates/flux-errors: Utility definitions for user facing error reporting. crates/flux-fhir-analysis: Implements the \"analyses\" performed in the fhir, most notably well-formedness checking and conversion from fhir into rty. crates/flux-fixpoint: Code to interact with the Liquid Fixpoint binary. crates/flux-macros: Procedural macros used internally to implement Flux. crates/flux-metadata: Logic for saving Flux crate metadata that can be used to import refined signatures from external crates. crates/flux-middle: This crate contains common type definitions that are used by the rest of Flux like the rty and fhir intermediate representations. Akin to rustc_middle . crates/flux-refineck: Implementation of refinement type checking. crates/flux-syntax: Definition of the surface syntax AST and parser. crates/flux-tests: Flux regression tests. lib/flux-attrs: Implementation of user facing procedural macros for annotating programs with Flux specs. lib/flux-rs: This is just a re-export of the macros implemented in flux-attrs. The intention is to eventually put Flux \"standard library\" here, i.e., a set of definitions that are useful when working with Flux.","breadcrumbs":"Develop » Architecture » Crates","id":"32","title":"Crates"},"33":{"body":"Flux has several intermediate representations (IR) for types. They represent a refined version of an equivalent type in some rustc IR. We have picked a distinct verb to refer to the process of going between these different representations to make it easier to refer to them. The following image summarizes all the IRs and the process for going between them. IRs diagram","breadcrumbs":"Develop » Architecture » Intermediate Representations","id":"33","title":"Intermediate Representations"},"34":{"body":"The surface IR represents source level Flux annotations. It corresponds to the rustc_ast data structures in rustc. The definition as well as the parser is located in the flux-syntax crate.","breadcrumbs":"Develop » Architecture » Surface","id":"34","title":"Surface"},"35":{"body":"The Flux High-Level Intermediate Representation (fhir) is a refined version of rustc's hir . The definition is located in the flux_middle crate inside the fhir module. The process of going from surface to fhir is called desugaring , and it is implemented in the flux-desugar crate.","breadcrumbs":"Develop » Architecture » Fhir","id":"35","title":"Fhir"},"36":{"body":"The definition in the flux_middle::rty module correspond to a refined version of the main rustc representation for types defined in rustc_middle::ty . The process of going from fhir to rty is called conversion , and it is implemented in the flux_fhir_analysis::conv module.","breadcrumbs":"Develop » Architecture » Rty","id":"36","title":"Rty"},"37":{"body":"The definition in the flux_middle::rustc module correspond to simplified version of data structures in rustc. They can be understood as the currently supported subset of Rust. The process of going from a definition in rustc_middle into flux_middle::rustc is called lowering and it is implemented in flux_middle::rustc::lowering.","breadcrumbs":"Develop » Architecture » Simplified Rustc","id":"37","title":"Simplified Rustc"},"38":{"body":"Besides the different translation between Flux intermediate representations, there are two ways to get a refined version from a rust type. The process of going from a type in hir into a type in fhir is called lifting , and it is implemented in flux_middle::fhir::lift. The process for going from a type in flux_middle::rustc::ty into a flux_middle::rty is called refining , and it is implemented flux_middle::rty::refining.","breadcrumbs":"Develop » Architecture » Lifting and Refining","id":"38","title":"Lifting and Refining"},"39":{"body":"Online demo Types bring order to code. For example, if a variable i:usize then we know i is a number that can be used to index a vector. Similarly, if v:vec<&str> then we can be sure that v is a collection of strings which may be indexed but of course, not used as an index. However, by itself usize doesn't tell us how big or small the number and hence the programmer must still rely on their own wits, a lot of tests, and a dash of optimism, to ensure that all the different bits fit properly at run-time. Refinements are a promising new way to extend type checkers with logical constraints that specify additional correctness requirements that can be verified by the compiler, thereby entirely eliminating various classes of run-time problems. We're excited to introduce Flux , a refinement type checker plugin that brings this technology to Rust.","breadcrumbs":"Introducing Flux » Introducing Flux","id":"39","title":"Introducing Flux"},"4":{"body":"You can run flux on a single file or entire crate.","breadcrumbs":"Run » Running Flux","id":"4","title":"Running Flux"},"40":{"body":"The most basic form of refinement type in flux is a type that is indexed by a logical value. For example Type Meaning i32[10] The (singleton) set of i32 values equal to 10 bool[true] The (singleton) set of bool values equal to true","breadcrumbs":"Introducing Flux » Indexed Types","id":"40","title":"Indexed Types"},"41":{"body":"We can already start using these indexed types to start writing (and checking) code. For example we can write the following specification which says that the value returned by mk_ten must in fact be 10 #[flux::sig(fn() -> i32[10])]\npub fn mk_ten() -> i32 { 5 + 4\n} but when you compile it, flux will say error[FLUX]: postcondition might not hold --> src/basics.rs:7:5 |\n7 | 5 + 4 | ^^^^^ The error says that that the postcondition might not hold which means that the output produced by mk_ten may not in fact be an i32[10] as indeed, in this case, the result is 9! You can eliminate the error by replacing the body with 5 + 5 or just 10.","breadcrumbs":"Introducing Flux » Post-Conditions","id":"41","title":"Post-Conditions"},"42":{"body":"Here's a second example that shows how you can use an index to restrict the space of inputs that a function expects. #[flux::sig(fn (b:bool[true]))]\npub fn assert(b:bool) { if !b { panic!(\"assertion failed\") }\n} Here, the refined specification for assert says that you can only call it with true as the input. So if you write fn test(){ assert(2 + 2 == 4); assert(2 + 2 == 5); // fails to type check\n} then flux will complain that error[FLUX]: precondition might not hold --> src/basics.rs:12:5 |\n12 | assert(2 + 2 == 5); // fails to type check | ^^^^^^^^^^^^^^^^^^ meaning that the call to assert fails to establish that the input is indeed true (as of course, in this case, it is not!)","breadcrumbs":"Introducing Flux » Pre-Conditions","id":"42","title":"Pre-Conditions"},"43":{"body":"It's not terribly exciting to only talk about fixed values like 10 or true. To be more useful, flux lets you index types by refinement parameters . For example, you can write #[flux::sig(fn(n:i32) -> bool[0 < n])]\npub fn is_pos(n: i32) -> bool { if 0 < n { true } else { false }\n} Here, the type says that is_pos takes as input some i32 indexed by n returns as output the bool indexed by 0 < n in other words, the output is true exactly when 0 < n. We might use this function to check that: pub fn test_pos(n: i32) { let m = if is_pos(n) { n - 1 } else { 0 }; assert(0 <= m);\n}","breadcrumbs":"Introducing Flux » Index Parameters and Expressions","id":"43","title":"Index Parameters and Expressions"},"44":{"body":"Often we don't care about the exact value of a thing -- but just care about some properties that it may have. For example, we don't care that an i32 is equal to 5 or 10 or n but that it is non-negative. Type Meaning i32{v: 0 < v} The set of i32 values that positive i32{v: n <= v} The set of i32 values greater than or equal to n Flux allows such specifications by pairing plain Rust types with assertions [1] that constrain the value. For example, we can rewrite mk_10 with the output type i32{v:0 i32{v: 0 < v})]\npub fn mk_ten() -> i32 { 5 + 5\n} Similarly, you might specify that a function that computes the absolute value of an i32 with a type which says the result is non-negative and exceeds the input n. #[flux::sig(fn (n:i32) -> i32{v:0<=v && n<=v})]\npub fn abs(n: i32) -> i32 { if 0 <= n { n } else { 0 - n }\n} As a last example, you might write a function to compute the factorial of n #[flux::sig(fn (n:i32) -> i32{v:1<=v && n<=v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; let mut res = 1; while i < n { i += 1; res = res * i; } res\n} Here the specification says the input must be non-negative, and the output is at least as large as the input. Note, that unlike the previous examples, here we're actually changing the values of i and res. Can you guess why the copilot suggestions failed to pass flux, and what refinements were inferred for i and res in the fixed code at the end?","breadcrumbs":"Introducing Flux » Existential Types","id":"44","title":"Existential Types"},"45":{"body":"In this post, we saw how Flux lets you decorate basic Rust types like i32 and bool with indices and constraints that let you respectively refine the sets of values that inhabit that type, and specify contracts on functions that state pre-conditions on the sets of legal inputs that they accept, and post-conditions that describe the outputs that they produce. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates, without sacrificing thread- or memory-safety. Next time, we'll see how Flux melds refinements and Rust's ownership to make refinements happily coexist with imperative code. These are not arbitrary Rust expressions but a subset of expressions from logics that can be efficiently decided by SMT Solvers","breadcrumbs":"Introducing Flux » Summary","id":"45","title":"Summary"},"46":{"body":"Online demo Previously we saw how to refine basic Rust types like i32 and bool with indices and constraints to constrain the set of values described by those types. The whole point of Rust, of course, is to allow for efficient imperative sharing and updates , via the clever type system that keeps an eye on the ownership of resources to make sure that aliasing and mutation cannot happen at the same time. Next, lets see how Flux melds refinements and Rust's ownership mechanisms to make refinements work in the imperative setting.","breadcrumbs":"Ownership in Flux » Ownership in Flux","id":"46","title":"Ownership in Flux"},"47":{"body":"Rust's most basic form of ownership is exclusive ownership, in which exactly one variable in a function has the right to mutate a memory location. When a location is exclusively owned, we can be sure that there are no other references to it, which lets flux update the type whenever the location is changed. For example, consider the program #[flux::sig(fn () -> i32[3])]\npub fn mk_three() -> i32 { let mut r = 0; // r: i32[0] r += 1; assert(r == 1); // r: i32[1] r += 1; assert(r == 2); // r: i32[2] r += 1; assert(r == 3); // r: i32[3] r\n} The variable r has different types at each point inside mk_three. It starts off as i32[0]. The first increment changes it to i32[1], then i32[2] and finally, the returned type i32[3]. This exclusive ownership mechanism is at work in the factorial example we signed off with previously #[flux::sig(fn (n:i32{0 <= n}) -> i32{v:n <= v})]\npub fn factorial(n: i32) -> i32 { let mut i = 0; // i: i32[0] let mut r = 1; // r: i32[1] while i < n { // i: i32{v:0<=v<=n} // r: i32{v:1<=v && i<=v} i += 1; r = r * i; } r\n} In the above code, i and r start off at 0 and 1 but then Rust infers (a story for another day) that inside the while-loop [1] i has type i32{v:0<=v && v < n} r has type i32{v:1<=v && i <= v} and hence, upon exit since i == n we get that the result is at least n.","breadcrumbs":"Ownership in Flux » Exclusive Ownership","id":"47","title":"Exclusive Ownership"},"48":{"body":"Exclusive ownership suffices for simple local updates like in factorial. However, for more complex data, functions must temporarily relinquish ownership to allow other functions to mutate the data. Rust cleverly allows this via the notion of borrowing using two kinds of references that give callees temporary access to a memory location. The simplest kind of references are of the form &T which denote read-only access to a value of type T. For example, we might write abs to take a shared reference to an i32 #[flux::sig(fn (p: &i32[@n]) -> i32{v:0<=v && n<=v})]\npub fn abs(p: &i32) -> i32 { let n = *p; if 0 <= n { n } else { 0 - n }\n} Notice that the input type has changed: the function now Accepts p a reference to an i32 whose value is n as denoted by @n Returns an i32 that is non-negative and larger than n The @ marks the n as a refinement parameter whose value is automatically computed by flux during type checking. So, for example, Flux can check the below code by automatically determining that the refinement parameter at the call-site is 10. pub fn test_abs() { let z = 10; assert(0 <= abs(&z)) assert(10 <= abs(&z))\n}","breadcrumbs":"Ownership in Flux » Borrowing: Shared References","id":"48","title":"Borrowing: Shared References"},"49":{"body":"As an aside, we have secretly been using refinement parameters like @n all along. For example, Flux automatically desugars the signature fn(n:i32{0 <= n} -> ... that we wrote for factorial into fn ({i32[@n] : 0 <= n}) -> i32{v:n <= v} where @n is a refinement parameter that is implicitly determined from the rust parameter n:i32. However, explicit parameters are essential to name the value of what a reference points to. In abs the rust parameter p names the reference but the @n names the (input) value and lets us use it to provide more information about the output of abs. Flux is modular in that the only information it knows about the implementation of abs is the signature: for example if we remove the fact that the output exceeds n then Flux will reject the assertion 10 <= abs(&z).","breadcrumbs":"Ownership in Flux » Refinement Parameters","id":"49","title":"Refinement Parameters"},"5":{"body":"You can use rustc-flux as you would use rustc. For example, the following command checks the file test.rs. rustc-flux path/to/test.rs The flux binary accepts the same flags as rustc. You could for example check a file as a library instead of a binary like so rustc-flux --crate-type=lib path/to/test.rs","breadcrumbs":"Run » Running on a File: rustc-flux","id":"5","title":"Running on a File: rustc-flux"},"50":{"body":"References of type &mut T denote mutable references that can be used to (read and) write or update the contents of a T value. Crucially, Rust ensures that while there may be multiple read-only (shared) references to a location, there is at most one active writeable (mutable) reference at any point in time. Flux exploits the semantics of &mut T to treat T as an invariant of the underlying data. As an example, consider the following function that decrements the value of a mutable reference while ensuring the data is non-negative: #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { *p = *p - 1;\n} Flux will complain with the following message error[FLUX]: assignment might be unsafe --> src/basics.rs:13:9 |\n13 | *p = *p - 1; | ^^^^^^^^^^^ as in fact, we may be writing a negative value into *p if, for example, the old value was zero. We can fix this code by guarding the update with a test that ensures the original contents are in fact non-zero #[flux::sig(fn(p: &mut i32{v:0 <= v}))]\npub fn decr(p: &mut i32) { let n = *p; if n != 0 { *p = n - 1; }\n} at which point Flux is happy to sign off on the code.","breadcrumbs":"Ownership in Flux » Borrowing: Mutable References","id":"50","title":"Borrowing: Mutable References"},"51":{"body":"Flux uses Rust's borrowing rules to track invariants even when there may be aliasing. As an example, consider the function #[flux::sig(fn (bool) -> i32{v:0 <= v})]\nfn test_alias(z: bool) -> i32 { let mut x = 1; // x: i32[1] let mut y = 2; // y: i32[2] let r = if z { &mut x } else { &mut y }; // r: &mut i32{v:0 <= v} decr(r); *r\n} The reference r could point to either x or y depending on the (unknown) value of the boolean z. Nevertheless, Flux determines that both references &mut x and &mut y point to values of the more general type i32{v:0<=v} and hence, infers r : &mut i32{v:0<=v} which allows us it to then call decr with the reference and guarantee the result (after decr) is still non-negative.","breadcrumbs":"Ownership in Flux » Aliased References","id":"51","title":"Aliased References"},"52":{"body":"In many situations, we want to lend a value to another function that actually changes the value's (refinement) type upon exit. For example, consider the following function to increment a reference to a non-negative i32 #[flux::sig(fn (p: &mut i32{v:0 <= v}))]\nfn incr(p: &mut i32) { *p += 1\n} Recall that Flux is modular in that the only information it has about incr is what is said in the signature. The signature for incr only says p remains non-negative: Flux does not know that incr actually increments the value of p. Hence, Flux fusses that the following assert may fail even though its patently obvious that it will succeed! To verify test_incr we need a signature for incr that says that its output is indeed one greater [2] than its input. Flux extends Rust with the notion of strong references of the form &strg T which refine Rust's &mut T to grant exclusive access to the underlying T. Crucially, strong references also let us specify how the type is updated when the function exits [3] . Thus, we can use strong references to type incr as #[flux::sig(fn(p: &strg i32[@n]) ensures p:i32[n+1])]\nfn incr(p: &mut i32) { *p += 1\n} The Flux signature refines the plain Rust one to specify that p is a strong reference to an i32, the input type of *p is i32[n], and the output type of *p is i32[n+1]. With this specification, Flux merrily checks test_incr, by determining that the refinement parameter @n is 10 and hence, that upon return x: i32[11].","breadcrumbs":"Ownership in Flux » Borrowing: Strong References","id":"52","title":"Borrowing: Strong References"},"53":{"body":"To sum up, Flux exploits Rust's ownership mechanisms to track properties of shared (&T) and mutable (&mut T) references, and additionally adds a strong (&strg T) reference -- a special case of &mut -- to support the cases where the type itself is changed by a call. Next, we'll see how refinements and ownership yield a simple refined API for vectors that lets Flux check bounds safety at compile time... For those familiar with the term, these types are loop invariants [2] : Setting aside the issue of overflows for now [3] : Thereby allowing so-called strong updates in the type specifications","breadcrumbs":"Ownership in Flux » Summary","id":"53","title":"Summary"},"54":{"body":"Online demo While rustc has a keen eye for spotting nasty bugs at compile time, it is not omniscient. We've all groaned in dismay at seeing deployed code crash with messages like panicked at 'index out of bounds: the len is ... but the index is ...' Next, lets see how flux's refinement and ownership mechanisms let us write a refined vector API whose types track vector sizes and ensure --- at compile time --- that vector accesses cannot fail at runtime.","breadcrumbs":"Refined Vectors » Refined Vectors","id":"54","title":"Refined Vectors"},"55":{"body":"To begin with, we will defined a refined vector type which is simply a wrapper around the standard Vec type #[flux::refined_by(len: int)]\npub struct RVec { inner: Vec,\n} The #[flux::refined_by(len: int)] attribute tells flux that the type RVec struct is indexed by a len refinement which tracks the size of the underlying vector, just like the indices for i32 and bool tracked the actual value of the underlying integer or boolean ). The idea is that the type RVec[10] represents a vector of i32 size 10, and RVec{v:0 < v} represents a non-empty vector of bool, and RVec[n]>[m] represents a vector of vectors of f32 of size m and each of whose elements is a vector of size n.","breadcrumbs":"Refined Vectors » Refining Vectors to Track their Size","id":"55","title":"Refining Vectors to Track their Size"},"56":{"body":"Now that we can talk about the size of a vector, lets build up an API for creating and manipulating vectors. I suppose one must start with nothing: an empty vector. impl RVec { #[flux::trusted] #[flux::sig(fn() -> RVec[0])] pub fn new() -> Self { Self { inner: Vec::new() } }\n} The above implements RVec::new as a wrapper around Vec::new. The #[flux::trusted] attribute tells Flux there is nothing to \"check\" here, as we are defining the API itself and trusting that the implementation (using vec is correct). However, the signature says that callers of the RVec::new get back a vector indexed with 0 i.e. an empty vector.","breadcrumbs":"Refined Vectors » Creating Vectors","id":"56","title":"Creating Vectors"},"57":{"body":"An empty vector is a rather desolate thing. To be of any use, we need to be able to push values into the container, like so #[flux::trusted]\n#[flux::sig(fn(self: &strg RVec[@n], T) ensures self: RVec[n+1])]\npub fn push(&mut self, item: T) { self.inner.push(item);\n} The refined type for push says that it takes a strong reference (self) --- where strg means the refined type may be changed by the function --- to an RVec of size n and a value T and upon exit, the size of self is increased by 1.","breadcrumbs":"Refined Vectors » Pushing Values","id":"57","title":"Pushing Values"},"58":{"body":"Not much point stuffing things into a vector if we can't get them out again. For that, we might implement a pop method that returns the last element of the vector. Aha, but what if the vector is empty? You could return an Option or since we're tracking sizes, we could require that pop only be called with non-empty vectors. #[flux::trusted]\n#[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T ensures self: RVec[n-1])]\npub fn pop(&mut self) -> T { self.inner.pop().unwrap()\n}","breadcrumbs":"Refined Vectors » Popping Values","id":"58","title":"Popping Values"},"59":{"body":"Now already flux can start checking some code, for example if you push two elements, then you can pop twice, but flux will reject the third pop at compile-time In fact, the error message from flux will point to exact condition that does not hold error[FLUX]: precondition might not hold --> src/vectors.rs:24:5 |\n24 | v.pop(); | ^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:78:47 |\n78 | #[flux::sig(fn(self: &strg {RVec[@n] | 0 < n}) -> T | ^^^^^","breadcrumbs":"Refined Vectors » Using the API","id":"59","title":"Using the API"},"6":{"body":"Flux is integrated with cargo and can be invoked in a package as follows: cargo flux By default, Flux won't verify a package unless it's explicitly enabled in the manifest. To do so add the following to Cargo.toml: [package.metadata.flux]\nenabled = true","breadcrumbs":"Run » Running on a package: cargo-flux","id":"6","title":"Running on a package: cargo-flux"},"60":{"body":"Perhaps we should peek at the size of the vector to make sure its not empty before we pop it. We can do that with a len method whose type says that the returned usize is, in fact, the size of the input vector #[flux::trusted]\n#[flux::sig(fn(&RVec[@n]) -> usize[n])]\npub fn len(&self) -> usize { self.inner.len()\n} Now, flux \"knows\" that after two pushes, the size of the vector is 2 and after the two pops, the size is 0 again","breadcrumbs":"Refined Vectors » Querying the Size","id":"60","title":"Querying the Size"},"61":{"body":"Of course, vectors are not just stacks , they also allow random access to their elements which is where those pesky panics occur, and where the refined vector API gets rather useful. Since we're tracking sizes, we can require that the method to get an element only be called with a valid index that is between 0 and the vector's size #[flux::sig(fn(&RVec[@n], i: usize{i < n}) -> &T)]\npub fn get(&self, i: usize) -> &T { &self.inner[i]\n} #[flux::sig(fn(&mut RVec[@n], i: usize{i < n}) -> &mut T)]\npub fn get_mut(&mut self, i: usize) -> &mut T { &mut self.inner[i]\n} With these refined get methods, flux can now spot the ``off-by-one'' error in the following code and accepts the fix [1] Its a bit gross to use get and get_mut directly, so instead we implement the Index and IndexMut traits for RVec which allows us to use the [] operator to access elements impl std::ops::Index for RVec { type Output = T; #[flux::sig(fn(&RVec[@n], i:usize{i < n}) -> &T)] fn index(&self, index: usize) -> &T { self.get(index) }\n} impl std::ops::IndexMut for RVec { #[flux::sig(fn(&mut RVec[@n], i:usize{i < n}) -> &mut T)] fn index_mut(&mut self, index: usize) -> &mut T { self.get_mut(index) }\n} And now the above vec_sum example looks a little nicer","breadcrumbs":"Refined Vectors » Random Access","id":"61","title":"Random Access"},"62":{"body":"Lets put the whole API to work in this \"memoized\" version of the fibonacci function which uses a vector to store the results of previous calls pub fn fib(n: usize) -> i32 { let mut r = RVec::new(); let mut i = 0; while i < n { if i == 0 { r.push(0); } else if i == 1 { r.push(1); } else { let a = r[i - 1]; let b = r[i - 2]; r.push(a + b); } i += 1; } r.pop()\n} Oops, flux is not happy with the call to pop at the end of the function which returns the last value as the result. error[FLUX]: precondition might not hold --> src/vectors.rs:40:5 |\n40 | r.pop() | ^^^^^^^ Flux complains that the vector may be empty and so the pop call may fail ... but why? Can you spot the problem? Indeed, we missed a \"corner\" case -- when n is 0 we skip the loop and so the vector is empty! Once we add a test for that, flux is happy.","breadcrumbs":"Refined Vectors » Memoization","id":"62","title":"Memoization"},"63":{"body":"As a last example, lets look at a simplified version of the binary_search method from std::vec , into which I've snuck a tiny little bug pub fn binary_search(vec: &RVec, x: i32) -> Result { let mut size = vec.len(); let mut left = 0; let mut right = size; while left <= right { let mid = left + size / 2; let val = vec[mid]; if val < x { left = mid + 1; } else if x < val { right = mid; } else { return Ok(mid); } size = right - left; } Err(left)\n} Flux complains in two places error[FLUX]: precondition might not hold --> src/vectors.rs:152:19 |\n152 | let val = vec[mid]; | ^^^^^^^^ call site | = note: a precondition cannot be proved at this call site\nnote: this is the condition that cannot be proved --> src/rvec.rs:189:44 |\n189 | #[flux::sig(fn(&RVec[@n], usize{v : v < n}) -> &T)] | ^^^^^ error[FLUX]: arithmetic operation may overflow --> src/vectors.rs:160:9 |\n160 | size = right - left; | ^^^^^^^^^^^^^^^^^^^ The vector access may be unsafe as mid could be out of bounds! The size variable may underflow as left may exceed right! Can you the spot off-by-one and figure out a fix?","breadcrumbs":"Refined Vectors » Binary Search","id":"63","title":"Binary Search"},"64":{"body":"So, we saw how Flux's index and constraint mechanisms combine with Rust's ownership to let us write a refined vector API that ensures the safety of all accesses at compile time. Next time, we'll see how these mechanisms are compositional in that we can use standard type machinery to build up compound structures and APIs from simple ones. Why not use an iterator? We'll get there in due course!","breadcrumbs":"Refined Vectors » Summary","id":"64","title":"Summary"},"65":{"body":"Flux is a research project described in the paper","breadcrumbs":"About » About Flux","id":"65","title":"About Flux"},"66":{"body":"Flux is being developed by Nico Lehmann , Adam Geller Cole Kurashige Gilles Barthe Niki Vazou Ranjit Jhala","breadcrumbs":"About » Team","id":"66","title":"Team"},"67":{"body":"Flux is open-source and available here","breadcrumbs":"About » Code","id":"67","title":"Code"},"68":{"body":"This work was supported by the National Science Foundation, European Research Council, and by generous gifts from Microsoft Research.","breadcrumbs":"About » Thanks","id":"68","title":"Thanks"},"69":{"body":"This is a prototype! Use at your own risk. Everything could break and it will break.","breadcrumbs":"About » Limitations","id":"69","title":"Limitations"},"7":{"body":"The following example declares a function inc that returns an integer greater than the input. We use the nightly feature register_tool to register the flux tool in order to add refinement annotations to functions. #[flux::sig(fn(x: i32) -> i32{v: x < v})]\npub fn inc(x: i32) -> i32 { x - 1\n} You can save the above snippet in say test0.rs and then run rustc-flux --crate-type=lib path/to/test0.rs you should see in your output error[FLUX]: postcondition might not hold --> test0.rs:3:5 |\n3 | x - 1 | ^^^^^ as indeed x - 1 is not greater than x as required by the output refinement i32{v: x < v}. If you fix the error by replacing x - 1 with x + 1, you should get no errors in the output (the output may be empty, but in this case no output is a good thing). Read these chapters to learn more about what you specify and verify with flux.","breadcrumbs":"Run » A tiny example","id":"7","title":"A tiny example"},"8":{"body":"The flux-driver binary is a rustc driver (similar to how clippy works) meaning it uses rustc as a library to \"drive\" compilation performing additional analysis along the way. Running the binary requires dynamically linking a correct version of librustc. Thus, to avoid the hassle you should never execute it directly. Instead, use rustc-flux or cargo-flux.","breadcrumbs":"Run » A note about the flux-driver binary","id":"8","title":"A note about the flux-driver binary"},"9":{"body":"This section assumes you have installed flux, cargo-flux, and rustc-flux.","breadcrumbs":"Run » Editor Support","id":"9","title":"Editor Support"}},"length":70,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.0},"8":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":2.449489742783178},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":3.7416573867739413}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.23606797749979},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}},"u":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.0},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.0}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.0},"20":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":3.1622776601683795},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.449489742783178},"26":{"tf":2.449489742783178},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.449489742783178},"28":{"tf":2.8284271247461903},"29":{"tf":1.4142135623730951},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":4.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.3166247903554},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":10,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":3,"docs":{"10":{"tf":1.0},"32":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.6457513110645907},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.449489742783178},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"32":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":2.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"47":{"tf":2.0},"48":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.7320508075688772}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":2,"docs":{"42":{"tf":1.0},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"32":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"60":{"tf":1.0}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"51":{"tf":2.0},"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":30,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.4641016151377544},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":14,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":13,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":5,"docs":{"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"32":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":3.872983346207417},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":2.8284271247461903},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":4.898979485566356},"26":{"tf":2.449489742783178},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":12,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"56":{"tf":2.449489742783178},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":8,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"0":{".":{"0":{"5":{"df":1,"docs":{"25":{"tf":1.0}}},"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{"9":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"5":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.0}}}},"df":0,"docs":{}},"6":{"2":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":17,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"43":{"tf":2.0},"44":{"tf":2.23606797749979},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":9,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0}}},"1":{"3":{"6":{"4":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{"1":{"1":{"2":{"8":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"f":{"5":{"1":{"c":{"a":{"a":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}}},"3":{"df":1,"docs":{"50":{"tf":1.0}}},"5":{"2":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{".":{"9":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{"df":1,"docs":{"63":{"tf":1.0}}},"9":{"8":{"6":{".":{"9":{"3":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"5":{".":{"3":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"0":{"1":{"4":{".":{"1":{"9":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"5":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"8":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"7":{".":{"5":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"9":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":1,"docs":{"30":{"tf":1.4142135623730951}}},"df":15,"docs":{"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":2.8284271247461903},"50":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"2":{".":{"6":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"2":{"8":{".":{"4":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"2":{".":{"0":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"6":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"2":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}},"6":{".":{"2":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{".":{"3":{"1":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"3":{"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":4,"docs":{"47":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}},"r":{"d":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"4":{"0":{".":{"3":{"7":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":1.0}}},"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0}}},"5":{".":{"2":{"4":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772}}},"6":{"4":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"59":{"tf":1.0}}},"df":1,"docs":{"41":{"tf":1.0}}},"9":{"1":{"0":{"6":{".":{"3":{"6":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"41":{"tf":1.0}}},"_":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"b":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"v":{"df":9,"docs":{"10":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.6457513110645907},"47":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0}}}},"s":{"(":{"&":{"df":0,"docs":{},"z":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}},"p":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"23":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"d":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":9,"docs":{"10":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"51":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}}}}}},"df":7,"docs":{"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"49":{"tf":1.0},"8":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"41":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"20":{"tf":1.0},"22":{"tf":1.0}}}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}},"i":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}},"z":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"7":{"tf":1.0}}},"y":{"df":1,"docs":{"28":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"10":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":2.449489742783178},"21":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"0":{"df":2,"docs":{"43":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}},"s":{":":{"4":{":":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":2.23606797749979},"26":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{":":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"17":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"66":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.7320508075688772},"3":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0}}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":4,"docs":{"17":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"42":{"tf":1.0},"62":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"66":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"32":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"61":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"17":{"tf":1.0},"18":{"tf":1.0}}},"df":1,"docs":{"32":{"tf":1.0}}},"t":{"df":2,"docs":{"39":{"tf":1.0},"61":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.0}}}}}},"df":6,"docs":{"40":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"23":{"tf":1.0},"51":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"22":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"56":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":2.0},"13":{"tf":1.0},"15":{"tf":2.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"18":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"e":{"df":1,"docs":{"48":{"tf":1.0}},"r":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":14,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":2.0},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"17":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0}}},"t":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"df":1,"docs":{"26":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"26":{"tf":1.0},"28":{"tf":1.7320508075688772},"32":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"30":{"tf":1.4142135623730951}}}}}},"df":16,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":14,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"32":{"tf":1.7320508075688772}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":13,"docs":{"0":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":2.0},"28":{"tf":1.0},"31":{"tf":1.4142135623730951},"39":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}},"s":{"df":1,"docs":{"17":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"32":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"32":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"47":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"46":{"tf":1.0}},"t":{"df":7,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":3.0},"18":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"57":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"28":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"32":{"tf":1.0},"36":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":6,"docs":{"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":2.6457513110645907},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":2,"docs":{"27":{"tf":1.0},"32":{"tf":3.7416573867739413}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"56":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"26":{"tf":1.0}}}}}}}},"d":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"a":{"df":4,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"y":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":1,"docs":{"28":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":1,"docs":{"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.6457513110645907},"6":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":4,"docs":{"21":{"tf":1.0},"36":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"12":{"tf":1.0},"32":{"tf":2.23606797749979},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"o":{"df":3,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"17":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"17":{"tf":1.0},"20":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"18":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"12":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":16,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}},"r":{"df":5,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"8":{"tf":2.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":3,"docs":{"17":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"23":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"39":{"tf":1.0},"41":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"17":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"d":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"39":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"31":{"tf":1.0},"32":{"tf":1.0}}}}},"v":{"df":1,"docs":{"12":{"tf":1.0}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"28":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"23":{"tf":2.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"51":{"tf":1.0},"52":{"tf":1.0}},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}},"u":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"30":{"tf":1.0},"69":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"44":{"tf":1.0},"59":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"43":{"tf":1.0},"47":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":27,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":2.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"44":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"47":{"tf":2.23606797749979},"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":2.0},"44":{"tf":1.4142135623730951}}}}}}}},"t":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"39":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":5,"docs":{"19":{"tf":2.23606797749979},"20":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":3.3166247903554},"32":{"tf":1.0}}}}},"r":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"y":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"3":{"2":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"41":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"25":{"tf":2.0},"26":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"43":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.0}}}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":2.23606797749979},"35":{"tf":2.23606797749979},"36":{"tf":1.0},"38":{"tf":1.0}}}}},"i":{"b":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"c":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"23":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"3":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":2.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"47":{"tf":1.0}}}},"d":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":2.23606797749979}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"47":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"x":{"df":6,"docs":{"43":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{":":{":":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"'":{"df":2,"docs":{"54":{"tf":1.0},"64":{"tf":1.0}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0}}}}}}},"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},":":{":":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"g":{"(":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"t":{">":{"[":{"@":{"df":0,"docs":{},"n":{"df":3,"docs":{"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"50":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"x":{"df":2,"docs":{"26":{"tf":1.0},"7":{"tf":1.0}}}},"df":9,"docs":{"22":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0}}}}},"df":1,"docs":{"21":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"21":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"=":{"1":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"29":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"=":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"=":{"1":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"13":{"tf":1.0}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"_":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"_":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.0},"38":{"tf":1.0}}},"y":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"37":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"r":{"df":1,"docs":{"20":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"28":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":53,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":2.8284271247461903},"13":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"28":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"3":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":4.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":2.0},"4":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"49":{"tf":2.0},"5":{"tf":2.449489742783178},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":2.23606797749979},"9":{"tf":1.7320508075688772}}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"@":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":21,"docs":{"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"26":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"13":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":6,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0}},"e":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":19,"docs":{"12":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.4142135623730951},"21":{"tf":3.4641016151377544},"22":{"tf":2.23606797749979},"23":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"57":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"51":{"tf":1.0},"68":{"tf":1.0}}}}},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":1,"docs":{"61":{"tf":1.0}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"3":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"48":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":5,"docs":{"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}},"o":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"30":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"d":{"df":2,"docs":{"16":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"46":{"tf":1.0}}}},"i":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"r":{"d":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"39":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}},"df":10,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"56":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":1.0}}}},"r":{"df":2,"docs":{"35":{"tf":1.0},"38":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"/":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"i":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}},".":{"df":3,"docs":{"10":{"tf":1.0},"32":{"tf":1.0},"56":{"tf":1.0}}},"3":{"2":{"[":{"0":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"1":{"0":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":2,"docs":{"47":{"tf":1.7320508075688772},"51":{"tf":1.0}}},"2":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.0}}},"3":{"df":1,"docs":{"47":{"tf":1.7320508075688772}}},"@":{"a":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.7320508075688772},"52":{"tf":1.0}}},"x":{"df":2,"docs":{"18":{"tf":2.0},"26":{"tf":1.0}}}},"df":19,"docs":{"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"21":{"tf":2.0},"26":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":2.0},"55":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.7320508075688772}},"{":{"df":0,"docs":{},"v":{":":{"0":{"<":{"=":{"df":0,"docs":{},"v":{"<":{"=":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":3,"docs":{"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"1":{"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.0},"47":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"49":{"tf":1.0}}}},"df":4,"docs":{"17":{"tf":1.0},"21":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}}}},"<":{"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"23":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"56":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"19":{"tf":1.7320508075688772},"22":{"tf":3.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"21":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.6457513110645907},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"49":{"tf":1.0},"56":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}}}},"i":{"c":{"df":1,"docs":{"23":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}}}}}},"n":{"c":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":1,"docs":{"7":{"tf":1.0}},"l":{"df":0,"docs":{},"u":{"d":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":1,"docs":{"52":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":13,"docs":{"17":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"61":{"tf":2.0},"64":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0}}}},"o":{"df":1,"docs":{"3":{"tf":1.0}},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0}}}}}},"h":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"1":{"tf":1.7320508075688772},"12":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":2.0},"3":{"tf":2.8284271247461903},"9":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"22":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"22":{"tf":1.0},"55":{"tf":1.0},"7":{"tf":1.0}},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"35":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":7,"docs":{"39":{"tf":2.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"33":{"tf":2.0},"34":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"43":{"tf":1.0}},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"'":{"df":2,"docs":{"43":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}},"r":{"df":1,"docs":{"64":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0}}}}}}}},"j":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}},"p":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"46":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"44":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"0":{"tf":1.0},"63":{"tf":2.6457513110645907}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"66":{"tf":1.0}}}}},"df":0,"docs":{}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"22":{"tf":1.0},"60":{"tf":1.0}}}}}}},"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"d":{"df":1,"docs":{"52":{"tf":1.0}}},"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"23":{"tf":1.4142135623730951}}}},"t":{"df":11,"docs":{"0":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0}}}}}},"i":{"b":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"32":{"tf":1.0},"5":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0}}},"k":{"df":2,"docs":{"28":{"tf":1.0},"8":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"[":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":1,"docs":{"17":{"tf":1.0}}}},"df":2,"docs":{"0":{"tf":1.0},"17":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":3,"docs":{"22":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}}}},"o":{"a":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"17":{"tf":1.7320508075688772},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"48":{"tf":1.0}}},"t":{"df":10,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"47":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}},"i":{"c":{"df":4,"docs":{"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"k":{"df":2,"docs":{"61":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":3,"docs":{"47":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"w":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":2.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":5,"docs":{"10":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}},"df":2,"docs":{"43":{"tf":1.4142135623730951},"55":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"10":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":1,"docs":{"63":{"tf":2.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":2.23606797749979}}},"r":{"df":2,"docs":{"12":{"tf":1.0},"13":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.0},"62":{"tf":1.0}}}}},"k":{"_":{"1":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"41":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}},"df":4,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":6,"docs":{"3":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"23":{"tf":1.0},"50":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"50":{"tf":2.23606797749979},"53":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0}}}},"df":10,"docs":{"21":{"tf":2.449489742783178},"44":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"50":{"tf":2.449489742783178},"51":{"tf":2.8284271247461903},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"61":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}}}},"n":{":":{"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"49":{"tf":1.0}},"{":{"0":{"df":1,"docs":{"47":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"=":{"df":0,"docs":{},"v":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":17,"docs":{"17":{"tf":3.1622776601683795},"18":{"tf":1.0},"23":{"tf":1.4142135623730951},"43":{"tf":2.449489742783178},"44":{"tf":3.0},"47":{"tf":2.23606797749979},"48":{"tf":2.8284271247461903},"49":{"tf":2.449489742783178},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":7,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":2.23606797749979},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"g":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":5,"docs":{"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}}}}}}}}}},"w":{"df":4,"docs":{"22":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"3":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"64":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}},"o":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"14":{"tf":1.0},"17":{"tf":1.4142135623730951},"22":{"tf":1.0},"30":{"tf":2.23606797749979},"44":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.0},"30":{"tf":1.0},"44":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}},"h":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"48":{"tf":1.0},"52":{"tf":1.0}}}}}},"w":{"df":11,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}},"df":1,"docs":{"30":{"tf":2.23606797749979}}}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"k":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":3.0}}},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.0},"62":{"tf":1.0}}},"df":9,"docs":{"18":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"0":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"19":{"tf":1.0},"22":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}},"r":{"df":3,"docs":{"12":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"20":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"30":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"61":{"tf":1.0},"7":{"tf":2.23606797749979}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"19":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"17":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"45":{"tf":1.0},"46":{"tf":2.23606797749979},"47":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"p":{":":{"df":0,"docs":{},"i":{"3":{"2":{"[":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"61":{"tf":1.0}},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"17":{"tf":2.449489742783178},"18":{"tf":1.7320508075688772},"22":{"tf":1.0},"43":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.6457513110645907},"52":{"tf":1.0}},"r":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":5,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":2.0},"22":{"tf":2.0}}}}},"df":5,"docs":{"25":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":1.0}}}},"r":{"df":1,"docs":{"14":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"8":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"44":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"26":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"10":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":4,"docs":{"58":{"tf":2.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"0":{"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"4":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.0},"44":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"27":{"tf":1.0},"41":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":2,"docs":{"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"44":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"62":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"3":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":2,"docs":{"41":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"32":{"tf":1.0},"47":{"tf":1.0}},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"39":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"39":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"27":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"i":{"d":{"df":2,"docs":{"29":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":16,"docs":{"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":3,"docs":{"57":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":3,"docs":{"14":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":3.872983346207417}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"12":{"tf":1.0},"15":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"r":{"(":{"a":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}},".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"a":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}},"j":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":5,"docs":{"17":{"tf":2.23606797749979},"23":{"tf":5.196152422706632},"47":{"tf":4.242640687119285},"51":{"tf":2.23606797749979},"62":{"tf":1.0}},"e":{"a":{"d":{"df":4,"docs":{"18":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"7":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"32":{"tf":1.0},"44":{"tf":2.449489742783178}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"19":{"tf":1.0},"33":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"51":{"tf":2.23606797749979},"52":{"tf":2.6457513110645907},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":36,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":3.605551275463989},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.6457513110645907},"23":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":2.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":2.23606797749979},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"1":{"4":{":":{"1":{"5":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"32":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"39":{"tf":1.0}},"n":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"49":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":2,"docs":{"41":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.7320508075688772},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":8,"docs":{"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"3":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"32":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":6,"docs":{"25":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":12,"docs":{"17":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"63":{"tf":2.449489742783178}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"26":{"tf":1.0}}}}},"s":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"51":{"tf":1.0}}}},"n":{"df":19,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":2.6457513110645907},"26":{"tf":3.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":2.0},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}},"c":{"'":{"df":1,"docs":{"35":{"tf":1.0}}},"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"37":{"tf":1.0}},"e":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":13,"docs":{"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"54":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":14,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"56":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{">":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{":":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"3":{"2":{">":{"[":{"1":{"0":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"f":{"3":{"2":{">":{"[":{"df":0,"docs":{},"n":{"]":{">":{"[":{"df":0,"docs":{},"m":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{">":{"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"@":{"df":0,"docs":{},"n":{"df":4,"docs":{"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951}}}},"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"22":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"12":{"tf":2.23606797749979},"32":{"tf":1.0},"7":{"tf":1.0}}}},"w":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"12":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"30":{"tf":1.7320508075688772},"42":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"27":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0}},"n":{"df":1,"docs":{"17":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"22":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":13,"docs":{"10":{"tf":1.0},"12":{"tf":2.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":2.0},"56":{"tf":1.0}}}}}},"df":2,"docs":{"47":{"tf":1.0},"50":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"44":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"21":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}},"i":{"df":1,"docs":{"55":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"26":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"17":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":3,"docs":{"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":9,"docs":{"12":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"21":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"18":{"tf":1.0},"19":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"29":{"tf":1.0},"30":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":9,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"32":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"3":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":8,"docs":{"16":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":8,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"52":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}},"r":{"c":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"2":{":":{"5":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{":":{"9":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{":":{"5":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"8":{"9":{":":{"4":{"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{":":{"4":{"7":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{"1":{"5":{"2":{":":{"1":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"0":{":":{"9":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"4":{":":{"5":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{":":{"5":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":3,"docs":{"32":{"tf":1.0},"55":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"56":{"tf":1.0},"59":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}}},"d":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{":":{":":{"<":{">":{"(":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"i":{"df":1,"docs":{"47":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"df":5,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"22":{"tf":2.6457513110645907},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"52":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"19":{"tf":2.23606797749979},"22":{"tf":4.0},"55":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"64":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"b":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"15":{"tf":1.0}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"m":{"df":2,"docs":{"30":{"tf":1.0},"53":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}},"i":{"df":4,"docs":{"0":{"tf":1.0},"45":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":2.0},"22":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"13":{"tf":1.0},"56":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"60":{"tf":1.0}}},"f":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"(":{"a":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":3.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":2,"docs":{"43":{"tf":1.0},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":11,"docs":{"17":{"tf":2.0},"19":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":3.0},"63":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"39":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"13":{"tf":1.0}}}}}},"0":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}},"s":{":":{"3":{":":{"5":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"b":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":9,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":5.0},"26":{"tf":2.6457513110645907},"28":{"tf":1.0},"32":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"25":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"21":{"tf":1.4142135623730951},"44":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"19":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"u":{"df":3,"docs":{"26":{"tf":1.0},"52":{"tf":1.0},"8":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":13,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.8284271247461903},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"30":{"tf":1.0}}},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"7":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"12":{"tf":1.0}}},"k":{"df":6,"docs":{"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":2.0},"58":{"tf":1.0},"61":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"31":{"tf":1.0},"32":{"tf":1.0},"61":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"38":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"u":{"df":0,"docs":{},"e":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":7,"docs":{"22":{"tf":1.0},"3":{"tf":1.4142135623730951},"38":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":28,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":5.0990195135927845},"21":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":2.0},"39":{"tf":1.7320508075688772},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"47":{"tf":2.23606797749979},"48":{"tf":1.7320508075688772},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":2.23606797749979}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"51":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"50":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"15":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"s":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"32":{"tf":2.449489742783178},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"22":{"tf":2.0},"39":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}},"e":{"[":{"df":0,"docs":{},"n":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.4142135623730951}}}}}},"v":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"0":{".":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"<":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}},"i":{"d":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":16,"docs":{"17":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":2.6457513110645907},"45":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"28":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"12":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":12,"docs":{"17":{"tf":2.0},"21":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.4142135623730951}},"e":{"c":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"[":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"61":{"tf":1.0}}},"df":13,"docs":{"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.449489742783178},"55":{"tf":3.1622776601683795},"56":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"0":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"i":{"a":{"df":2,"docs":{"46":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"10":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"19":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"52":{"tf":1.0}}}},"y":{"df":5,"docs":{"28":{"tf":1.0},"3":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"39":{"tf":1.0},"44":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"48":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"d":{"df":1,"docs":{"43":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":8,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"10":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"56":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"64":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"x":{",":{"df":0,"docs":{},"y":{",":{"df":0,"docs":{},"z":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"f":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":8,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"26":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"63":{"tf":1.7320508075688772},"7":{"tf":2.8284271247461903}},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":2,"docs":{"18":{"tf":3.0},"51":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}},"r":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"z":{"3":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"30":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"title":{"root":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"51":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}}}}}}},"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"14":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"56":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"8":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"13":{"tf":1.0},"26":{"tf":1.0},"5":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"x":{"df":11,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"16":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"40":{"tf":1.0},"43":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"39":{"tf":1.0}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"o":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"47":{"tf":1.0}}}}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"43":{"tf":1.0},"49":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"42":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"60":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"17":{"tf":1.0},"23":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"36":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"28":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"37":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"z":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":1,"docs":{"19":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"45":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"17":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"57":{"tf":1.0},"58":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file