Module Expr Str Import alias Import alias Import alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias ImportFrom alias alias ImportFrom alias alias alias ImportFrom alias alias ImportFrom alias alias alias alias alias alias alias alias alias ImportFrom alias alias Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str BinOpBitOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Dict Str Str Str NameLoad NameLoad NameLoad FunctionDef arguments args NameParam defaults body If CompareIn NameLoad NameLoad body Return SubscriptLoad NameLoad Index NameLoad For NameStore TupleLoad NameLoad NameLoad body TryExcept body Return Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Pass If BoolOpAnd CompareEq SubscriptLoad NameLoad Slice Num SubscriptLoad NameLoad Slice Num CompareIn SubscriptLoad NameLoad Index Num Str body Assign NameStore SubscriptLoad NameLoad Slice Num Num Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body AugAssignAdd NameStore Str Assign NameStore ListLoad Assign NameStore Dict For NameStore Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr Str Assign SubscriptStore NameLoad Index NameLoad NameLoad Return TupleLoad Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Num Assign NameStore Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad While CompareLt NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad If CompareIs NameLoad NameLoad body Break Assign NameStore Call AttributeLoad NameLoad attr If SubscriptLoad NameLoad Index Str body Expr Yield TupleLoad NameLoad NameLoad SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore BoolOpOr SubscriptLoad NameLoad Index Str Str If CompareIn NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Yield TupleLoad NameLoad BoolOpOr SubscriptLoad NameLoad Index Str NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr If CompareLt NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Slice NameLoad If BoolOpOr CompareIn Str NameLoad CompareIn Str NameLoad body Raise Call NameLoad BinOpMod Str NameLoad Expr Yield TupleLoad NameLoad NameLoad NameLoad decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Num FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Raise Call NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore AttributeLoad NameLoad attr body For NameStore Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Yield NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore AttributeLoad NameLoad attr body For NameStore Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Yield NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore AttributeLoad NameLoad attr body For NameStore Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Yield NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body Return Call NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore AttributeLoad NameLoad attr body For NameStore Call AttributeLoad NameLoad attr NameLoad body Assign NameStore NameStore NameLoad If AttributeLoad NameLoad attr body Assign NameStore Dict For TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr body If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index NameLoad NameLoad If CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr Expr Yield Call NameLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad body If UnaryOpNot Call AttributeLoad NameLoad attr Str body Raise Call NameLoad Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr UnaryOpNot Call AttributeLoad NameLoad attr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad orelse Assign AttributeStore NameLoad attr Call NameLoad ListComp Call AttributeLoad NameLoad attr comprehension NameStore NameLoad If BoolOpAnd CompareNotIn Str AttributeLoad NameLoad attr CompareIn Str AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If NameLoad body Assign AttributeStore NameLoad attr Call NameLoad Call NameLoad NameLoad NameLoad orelse Assign AttributeStore NameLoad attr Call NameLoad Assign AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call Call NameLoad NameLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Return Call NameLoad keyword NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Yield NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad UnaryOpNot NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad If CompareIs AttributeLoad NameLoad attr NameLoad body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr If CompareIs AttributeLoad NameLoad attr NameLoad body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareNotIn NameLoad AttributeLoad AttributeLoad NameLoad attr attr body Raise Call NameLoad BinOpMod Str NameLoad Return Call SubscriptLoad AttributeLoad AttributeLoad NameLoad attr attr Index NameLoad AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assert CompareIsNot AttributeLoad NameLoad attr NameLoad Str If AttributeLoad AttributeLoad NameLoad attr attr body Assign NameStore BoolOpOr AttributeLoad NameLoad attr Str orelse Assign NameStore BoolOpOr AttributeLoad NameLoad attr Str Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr ListLoad Assign NameStore ListLoad FunctionDef arguments args NameParam defaults body For TupleStore NameStore NameStore NameStore Call NameLoad NameLoad body If CompareIs NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad NameLoad For NameStore Call AttributeLoad NameLoad attr Str body If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad Num UnaryOpUSub Call NameLoad NameLoad orelse If NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad orelse Assign NameStore TupleLoad Assign NameStore Dict Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad AttributeLoad NameLoad attr Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad Num AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad NameLoad decorator_list Expr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad Str Expr Call NameLoad BoolOpOr BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad Str If AttributeLoad NameLoad attr body Return Assign NameStore BinOpMod Str TupleLoad Call AttributeLoad Str attr NameLoad BoolOpOr BoolOpAnd BoolOpOr UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr Str Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot Call AttributeLoad NameLoad attr Str body Raise Call NameLoad orelse If UnaryOpNot AttributeLoad NameLoad attr body Delete SubscriptDel NameLoad Index Str Assign NameStore Dict For TupleStore NameStore NameStore Call NameLoad NameLoad body TryExcept body Assign NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Return Assign SubscriptStore NameLoad Index Call NameLoad NameLoad NameLoad If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr body Raise Call NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore ListLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr For TupleStore NameStore NameStore AttributeLoad NameLoad attr body If NameLoad body TryExcept body Expr Call NameLoad Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr SubscriptLoad NameLoad Index NameLoad handlers ExceptHandler type NameLoad body Return Expr Call AttributeLoad NameLoad attr NameLoad orelse Expr Call NameLoad Call NameLoad Call NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr keyword Str Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad Str attr NameLoad attr Str Num If NameLoad body Assign NameStore Call NameLoad NameLoad For NameStore NameLoad body If CompareIn NameLoad NameLoad body Delete SubscriptDel NameLoad Index NameLoad If NameLoad body AugAssignAdd NameStore BinOpAdd Str Call NameLoad NameLoad keyword AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad AttributeLoad NameLoad attr attr Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareNotEq NameLoad NameLoad CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If BoolOpAnd CompareIsNot NameLoad NameLoad CompareIsNot AttributeLoad NameLoad attr NameLoad CompareNotIn NameLoad AttributeLoad NameLoad attr body Return NameLoad Assign NameStore BoolOpOr AttributeLoad NameLoad attr TupleLoad For NameStore AttributeLoad NameLoad attr body If BoolOpAnd CompareNotIn NameLoad NameLoad CompareNotIn NameLoad NameLoad body Return NameLoad If NameLoad body For TupleStore NameStore NameStore Call NameLoad NameLoad body If BoolOpAnd CompareIn NameLoad NameLoad CompareNotEq NameLoad SubscriptLoad NameLoad Index NameLoad body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return TupleLoad Call NameLoad AttributeLoad NameLoad attr UnaryOpUSub Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return TupleLoad BoolOpOr BoolOpAnd AttributeLoad NameLoad attr Num Num UnaryOpUSub Call NameLoad AttributeLoad NameLoad attr UnaryOpUSub Call NameLoad BoolOpOr AttributeLoad NameLoad attr TupleLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BoolOpAnd CompareIs AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return UnaryOpNot Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body If CompareIs AttributeLoad NameLoad attr NameLoad body Return BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For TupleStore NameStore NameStore AttributeLoad NameLoad attr body If NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Return BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad Call NameLoad Call AttributeLoad Call AttributeLoad Str attr NameLoad attr Str attr Str BoolOpOr BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad BinOpMod Str Call AttributeLoad Str attr AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr decorator_list NameLoad decorator_list NameLoad ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Num FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad NameLoad keyword AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Num NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore BinOpMod Str Call NameLoad NameLoad orelse If CompareIs NameLoad NameLoad body Assign NameStore Str orelse Assign NameStore Call NameLoad NameLoad Assign NameStore BinOpMod Str TupleLoad Call NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr BinOpAdd Str NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr BinOpMod Str Call AttributeLoad Str attr ListComp Call AttributeLoad NameLoad attr NameLoad comprehension NameStore NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Num decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Num FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Num NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If BoolOpAnd AttributeLoad NameLoad attr CompareNotEq Call NameLoad NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If BoolOpOr BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad CompareLt NameLoad AttributeLoad NameLoad attr BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad CompareGt NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If AttributeLoad NameLoad attr body Assign NameStore BinOpMod BinOpMod Str AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore NameLoad decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Num NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad NameLoad decorator_list decorator_list Assign NameStore Dict Str Str Str Str Str Str Str NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad ClassDef bases NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad Str Str NameLoad NameLoad NameLoad NameLoad NameLoad Str NameLoad body Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad For NameStore BoolOpOr NameLoad TupleLoad body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Expr Str Expr Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr If CompareIsNot NameLoad NameLoad body Return Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Return Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str For NameStore Call AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr ListLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad Str Str NameLoad NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body If CompareIsNot NameLoad NameLoad body Raise Call NameLoad Str orelse If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Assign NameStore Str Assign NameStore Call NameLoad NameLoad Return Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body If CompareIn Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str orelse Assign NameStore SubscriptLoad NameLoad Index Str If CompareNotIn TupleLoad SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str TupleLoad TupleLoad Str Str TupleLoad Str Str body AugAssignAdd NameStore BinOpAdd Str SubscriptLoad NameLoad Index Str orelse If BoolOpAnd CompareIs NameLoad NameLoad UnaryOpNot AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr If CompareIn Str NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str orelse Assign NameStore Call AttributeLoad NameLoad attr Str If CompareNotIn TupleLoad SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str TupleLoad TupleLoad Str Str TupleLoad Str Str body AugAssignAdd NameStore BinOpAdd Str SubscriptLoad NameLoad Index Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore UnaryOpUSub Call NameLoad NameLoad If CompareNotEq SubscriptLoad NameLoad Slice NameLoad NameLoad body Assign NameStore Str orelse Assign NameStore Call AttributeLoad Str attr Call NameLoad NameLoad SubscriptLoad NameLoad Slice NameLoad FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Return Call NameLoad NameLoad AttributeLoad NameLoad attr decorator_list Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Return With AttributeLoad NameLoad attr body If UnaryOpNot AttributeLoad NameLoad attr body Return Expr Call AttributeLoad AttributeLoad NameLoad attr attr keyword Lambda arguments args NameParam defaults Call AttributeLoad NameLoad attr For NameStore Call NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr keyword Lambda arguments args NameParam defaults Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Return BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad Call NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr Str body AugAssignAdd NameStore Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str TryExcept body TryExcept body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad handlers ExceptHandler type NameLoad name NameStore body Return NameLoad Return Call NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad name NameStore body If NameLoad body Return NameLoad Raise decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad BoolOpOr NameLoad AttributeLoad NameLoad attr attr Assign NameStore BinOpMod Str TupleLoad BoolOpOr BoolOpAnd AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr BoolOpAnd NameLoad BinOpMod Str Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad For NameStore AttributeLoad AttributeLoad NameLoad attr attr body TryExcept body Assign NameStore Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Raise Call NameLoad Call AttributeLoad NameLoad attr BinOpAdd Call NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr keyword Str Str NameLoad ExceptHandler type NameLoad name NameStore body Raise Call NameLoad Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad If CompareIs NameLoad NameLoad body Continue If BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad CompareNotIn NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Continue If AttributeLoad AttributeLoad NameLoad attr attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Raise Call NameLoad NameLoad If CompareIsNot AttributeLoad NameLoad attr NameLoad body If Call NameLoad AttributeLoad NameLoad attr NameLoad body FunctionDef arguments args NameParam defaults body Assign NameStore SubscriptLoad NameLoad Index Call AttributeLoad NameLoad attr Num Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Call AttributeLoad NameLoad attr Num attr NameLoad decorator_list Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Raise Call NameLoad Call NameLoad Call NameLoad BinOpMod Str TupleLoad BoolOpOr AttributeLoad NameLoad attr Str BoolOpOr BoolOpAnd AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Str AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If NameLoad body Return TupleLoad NameLoad NameLoad orelse Return TupleLoad AttributeLoad NameLoad attr NameLoad If NameLoad body Raise Call NameLoad keyword Call NameLoad NameLoad Raise Call NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad handlers ExceptHandler type NameLoad body Pass ExceptHandler type NameLoad body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad keyword Str handlers ExceptHandler type NameLoad name NameStore body Return AttributeLoad NameLoad attr ExceptHandler type NameLoad name NameStore body Pass Return ListLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If AttributeLoad AttributeLoad NameLoad attr attr body If CompareIs NameLoad NameLoad body Return AttributeLoad NameLoad attr Return Call NameLoad NameLoad Str Assign NameStore NameLoad If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad Str Return BinOpAdd BoolOpOr BoolOpAnd NameLoad BinOpAdd NameLoad Str Str AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assert AttributeLoad AttributeLoad NameLoad attr attr For NameStore SubscriptLoad AttributeLoad AttributeLoad NameLoad attr attr Index AttributeLoad NameLoad attr body If CompareIs NameLoad NameLoad body Break If BoolOpAnd Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Str If NameLoad body Assign NameStore BinOpAdd Str Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad BinOpMod Str TupleLoad BoolOpOr AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Slice Num attr Str Call AttributeLoad NameLoad attr Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad If NameLoad body AugAssignAdd NameStore BinOpAdd Str Call AttributeLoad NameLoad attr NameLoad Assert CompareNotEq NameLoad NameLoad Str Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Return NameLoad For NameStore Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad TupleLoad body If Call AttributeLoad NameLoad attr NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr If NameLoad body If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad orelse Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad GeneratorExp TupleLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad CompareIsNot NameLoad NameLoad orelse Assign NameStore Dict Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd UnaryOpNot NameLoad BoolOpOr BoolOpAnd AttributeLoad AttributeLoad NameLoad attr attr CompareEq NameLoad AttributeLoad NameLoad attr BoolOpAnd UnaryOpNot AttributeLoad AttributeLoad NameLoad attr attr CompareEq NameLoad AttributeLoad NameLoad attr body Return Call NameLoad Call NameLoad AttributeLoad NameLoad attr BinOpAdd Str Call AttributeLoad NameLoad attr Str Return Call NameLoad BinOpMod Str TupleLoad IfExp AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Str NameLoad SubscriptLoad AttributeLoad NameLoad attr Slice Num Call AttributeLoad NameLoad attr Str decorator_list decorator_list
N/A N/A 
    werkzeug.routing
    ~~~~~~~~~~~~~~~~

    When it comes to combining multiple controller or view functions (however
    you want to call them) you need a dispatcher.  A simple way would be
    applying regular expression tests on the ``PATH_INFO`` and calling
    registered callback functions that return the value then.

    This module implements a much more powerful system than simple regular
    expression matching because it can also convert values in the URLs and
    build URLs.

    Here a simple example that creates an URL map for an application with
    two subdomains (www and kb) and some URL rules:

    >>> m = Map([
    ...     # Static URLs
    ...     Rule('/', endpoint='static/index'),
    ...     Rule('/about', endpoint='static/about'),
    ...     Rule('/help', endpoint='static/help'),
    ...     # Knowledge Base
    ...     Subdomain('kb', [
    ...         Rule('/', endpoint='kb/index'),
    ...         Rule('/browse/', endpoint='kb/browse'),
    ...         Rule('/browse/<int:id>/', endpoint='kb/browse'),
    ...         Rule('/browse/<int:id>/<int:page>', endpoint='kb/browse')
    ...     ])
    ... ], default_subdomain='www')

    If the application doesn't use subdomains it's perfectly fine to not set
    the default subdomain and not use the `Subdomain` rule factory.  The endpoint
    in the rules can be anything, for example import paths or unique
    identifiers.  The WSGI application can use those endpoints to get the
    handler for that URL.  It doesn't have to be a string at all but it's
    recommended.

    Now it's possible to create a URL adapter for one of the subdomains and
    build URLs:

    >>> c = m.bind('example.com')
    >>> c.build("kb/browse", dict(id=42))
    'http://kb.example.com/browse/42/'
    >>> c.build("kb/browse", dict())
    'http://kb.example.com/browse/'
    >>> c.build("kb/browse", dict(id=42, page=3))
    'http://kb.example.com/browse/42/3'
    >>> c.build("static/about")
    '/about'
    >>> c.build("static/index", force_external=True)
    'http://www.example.com/'

    >>> c = m.bind('example.com', subdomain='kb')
    >>> c.build("static/about")
    'http://www.example.com/about'

    The first argument to bind is the server name *without* the subdomain.
    Per default it will assume that the script is mounted on the root, but
    often that's not the case so you can provide the real mount point as
    second argument:

    >>> c = m.bind('example.com', '/applications/example')

    The third argument can be the subdomain, if not given the default
    subdomain is used.  For more details about binding have a look at the
    documentation of the `MapAdapter`.

    And here is how you can match URLs:

    >>> c = m.bind('example.com')
    >>> c.match("/")
    ('static/index', {})
    >>> c.match("/about")
    ('static/about', {})
    >>> c = m.bind('example.com', '/', 'kb')
    >>> c.match("/")
    ('kb/index', {})
    >>> c.match("/browse/42/23")
    ('kb/browse', {'id': 42, 'page': 23})

    If matching fails you get a `NotFound` exception, if the rule thinks
    it's a good idea to redirect (for example because the URL was defined
    to have a slash at the end but the request was missing that slash) it
    will raise a `RequestRedirect` exception.  Both are subclasses of the
    `HTTPException` so you can use those errors as responses in the
    application.

    If matching succeeded but the URL rule was incompatible to the given
    method (for example there were only rules for `GET` and `HEAD` and
    routing system tried to match a `POST` request) a `MethodNotAllowed`
    method is raised.


    :copyright: (c) 2014 by the Werkzeug Team, see AUTHORS for more details.
    :license: BSD, see LICENSE for more details.
 N/A re N/A uuid N/A posixpath pprint pformat threading Lock werkzeug.urls url_encode url_quote url_join werkzeug.utils redirect format_string werkzeug.exceptions HTTPException NotFound MethodNotAllowed werkzeug._internal _get_environ _encode_idna werkzeug._compat itervalues iteritems to_unicode to_bytes text_type string_types native_string_result implements_to_string wsgi_decoding_dance werkzeug.datastructures ImmutableDict MultiDict N/A _rule_re N/A N/A re compile 
    (?P<static>[^<]*)                           # static rule data
    <
    (?:
        (?P<converter>[a-zA-Z_][a-zA-Z0-9_]*)   # converter name
        (?:\((?P<args>.*?)\))?                  # converter arguments
        \:                                      # variable delimiter
    )?
    (?P<variable>[a-zA-Z_][a-zA-Z0-9_]*)        # variable name
    >
 N/A re VERBOSE N/A _simple_rule_re N/A N/A re compile <([^>]+)> N/A _converter_args_re N/A N/A re compile 
    ((?P<name>\w+)\s*=\s*)?
    (?P<value>
        True|False|
        \d+.\d+|
        \d+.|
        \d+|
        \w+|
        [urUR]?(?P<stringval>"[^"]*?"|'[^']*')
    )\s*,
 N/A N/A re VERBOSE N/A re UNICODE N/A _PYTHON_CONSTANTS N/A None True False None True False _pythonize N/A N/A value N/A N/A N/A N/A value _PYTHON_CONSTANTS N/A N/A N/A _PYTHON_CONSTANTS N/A value N/A convert N/A int float N/A N/A N/A N/A N/A convert value N/A N/A N/A ValueError N/A N/A N/A N/A N/A N/A value N/A 1 N/A value N/A -1 N/A N/A value N/A 0 "' N/A N/A value N/A value N/A 1 -1 N/A N/A text_type value N/A parse_converter_args N/A N/A argstr N/A N/A N/A argstr , N/A args N/A N/A kwargs N/A N/A item N/A N/A _converter_args_re finditer argstr N/A N/A value N/A N/A item group stringval N/A N/A value None N/A N/A value N/A N/A item group value N/A value N/A _pythonize value N/A N/A N/A N/A item group name N/A N/A N/A N/A args append value N/A N/A name N/A N/A item group name N/A N/A kwargs N/A name value N/A N/A N/A tuple args kwargs N/A parse_rule N/A N/A rule N/A N/A N/A Parse a rule and return it as generator. Each iteration yields tuples
    in the form ``(converter, arguments, variable)``. If the converter is
    `None` it's a static url part, otherwise it's a dynamic one.

    :internal:
     N/A pos 0 N/A end N/A len rule N/A do_match N/A _rule_re match N/A used_names N/A set N/A N/A pos end N/A N/A m N/A do_match rule pos N/A N/A m None N/A N/A N/A data N/A N/A m groupdict N/A N/A data N/A static N/A N/A N/A N/A None None N/A data N/A static N/A variable N/A data N/A variable N/A converter N/A N/A data N/A converter default N/A N/A variable used_names N/A N/A N/A ValueError N/A variable name %r used twice. variable N/A N/A N/A used_names add variable N/A N/A N/A converter N/A N/A data N/A args None variable N/A pos N/A N/A m end N/A N/A pos end N/A N/A remaining N/A rule N/A pos N/A N/A N/A > remaining N/A < remaining N/A N/A N/A ValueError N/A malformed url rule: %r rule N/A N/A N/A None None remaining N/A RoutingException N/A Exception N/A N/A Special exceptions that require the application to redirect, notifying
    about missing urls, etc.

    :internal:
     N/A RequestRedirect N/A HTTPException RoutingException N/A N/A Raise if the map requests a redirect. This is for example the case if
    `strict_slashes` are activated and an url that requires a trailing slash.

    The attribute `new_url` contains the absolute destination url.
     N/A code 301 __init__ N/A N/A self new_url N/A N/A N/A N/A N/A RoutingException __init__ self new_url N/A N/A self new_url new_url N/A get_response N/A N/A self environ N/A N/A N/A N/A redirect N/A self new_url N/A self code N/A N/A RequestSlash N/A RoutingException N/A N/A Internal exception. N/A RequestAliasRedirect N/A RoutingException N/A N/A This rule is an alias and wants to redirect to the canonical URL. __init__ N/A N/A self matched_values N/A N/A N/A N/A self matched_values matched_values N/A N/A BuildError N/A RoutingException LookupError N/A N/A Raised if the build system cannot find a URL for an endpoint with the
    values provided.
     __init__ N/A N/A self endpoint values method N/A N/A N/A N/A N/A LookupError __init__ self endpoint values method N/A N/A self endpoint endpoint N/A N/A self values values N/A N/A self method method N/A N/A ValidationError N/A ValueError N/A N/A Validation error.  If a rule converter raises this exception the rule
    does not match the current URL and the next URL is tried.
     N/A RuleFactory N/A object N/A N/A As soon as you have more complex URL setups it's a good idea to use rule
    factories to avoid repetitive tasks.  Some of them are builtin, others can
    be added by subclassing `RuleFactory` and overriding `get_rules`.
     get_rules N/A N/A self map N/A N/A N/A Subclasses of `RuleFactory` have to override this method and return
        an iterable of rules. N/A N/A NotImplementedError N/A N/A Subdomain N/A RuleFactory N/A N/A All URLs provided by this factory have the subdomain set to a
    specific domain. For example if you want to use the subdomain for
    the current language this can be a good setup::

        url_map = Map([
            Rule('/', endpoint='#select_language'),
            Subdomain('<string(length=2):lang_code>', [
                Rule('/', endpoint='index'),
                Rule('/about', endpoint='about'),
                Rule('/help', endpoint='help')
            ])
        ])

    All the rules except for the ``'#select_language'`` endpoint will now
    listen on a two letter long subdomain that holds the language code
    for the current request.
     __init__ N/A N/A self subdomain rules N/A N/A N/A N/A self subdomain subdomain N/A N/A self rules rules N/A get_rules N/A N/A self map N/A N/A N/A rulefactory N/A self rules N/A N/A rule N/A N/A rulefactory get_rules map N/A N/A rule N/A N/A rule empty N/A N/A rule subdomain N/A self subdomain N/A N/A rule N/A N/A Submount N/A RuleFactory N/A N/A Like `Subdomain` but prefixes the URL rule with a given string::

        url_map = Map([
            Rule('/', endpoint='index'),
            Submount('/blog', [
                Rule('/', endpoint='blog/index'),
                Rule('/entry/<entry_slug>', endpoint='blog/show')
            ])
        ])

    Now the rule ``'blog/show'`` matches ``/blog/entry/<entry_slug>``.
     __init__ N/A N/A self path rules N/A N/A N/A N/A self path N/A N/A path rstrip / N/A N/A self rules rules N/A get_rules N/A N/A self map N/A N/A N/A rulefactory N/A self rules N/A N/A rule N/A N/A rulefactory get_rules map N/A N/A rule N/A N/A rule empty N/A N/A rule rule N/A N/A self path N/A rule rule N/A N/A rule N/A N/A EndpointPrefix N/A RuleFactory N/A N/A Prefixes all endpoints (which must be strings for this factory) with
    another string. This can be useful for sub applications::

        url_map = Map([
            Rule('/', endpoint='index'),
            EndpointPrefix('blog/', [Submount('/blog', [
                Rule('/', endpoint='index'),
                Rule('/entry/<entry_slug>', endpoint='show')
            ])])
        ])
     __init__ N/A N/A self prefix rules N/A N/A N/A N/A self prefix prefix N/A N/A self rules rules N/A get_rules N/A N/A self map N/A N/A N/A rulefactory N/A self rules N/A N/A rule N/A N/A rulefactory get_rules map N/A N/A rule N/A N/A rule empty N/A N/A rule endpoint N/A N/A self prefix N/A rule endpoint N/A N/A rule N/A N/A RuleTemplate N/A object N/A N/A Returns copies of the rules wrapped and expands string templates in
    the endpoint, rule, defaults or subdomain sections.

    Here a small example for such a rule template::

        from werkzeug.routing import Map, Rule, RuleTemplate

        resource = RuleTemplate([
            Rule('/$name/', endpoint='$name.list'),
            Rule('/$name/<int:id>', endpoint='$name.show')
        ])

        url_map = Map([resource(name='user'), resource(name='page')])

    When a rule template is called the keyword arguments are used to
    replace the placeholders in all the string parameters.
     __init__ N/A N/A self rules N/A N/A N/A N/A self rules N/A list rules N/A __call__ N/A N/A self N/A args kwargs N/A N/A N/A RuleTemplateFactory N/A self rules N/A dict args kwargs N/A N/A RuleTemplateFactory N/A RuleFactory N/A N/A A factory that fills in template variables into rules.  Used by
    `RuleTemplate` internally.

    :internal:
     __init__ N/A N/A self rules context N/A N/A N/A N/A self rules rules N/A N/A self context context N/A get_rules N/A N/A self map N/A N/A N/A rulefactory N/A self rules N/A N/A rule N/A N/A rulefactory get_rules map N/A N/A new_defaults subdomain None N/A N/A rule defaults N/A N/A new_defaults N/A N/A N/A key value N/A iteritems N/A rule defaults N/A N/A N/A isinstance value string_types N/A N/A value N/A format_string value N/A self context N/A N/A new_defaults N/A key value N/A N/A N/A rule subdomain None N/A N/A subdomain N/A format_string N/A rule subdomain N/A self context N/A new_endpoint N/A rule endpoint N/A N/A isinstance new_endpoint string_types N/A N/A new_endpoint N/A format_string new_endpoint N/A self context N/A N/A N/A Rule N/A format_string N/A rule rule N/A self context new_defaults subdomain N/A rule methods N/A rule build_only new_endpoint N/A rule strict_slashes N/A N/A Rule N/A RuleFactory N/A N/A A Rule represents one URL pattern.  There are some options for `Rule`
    that change the way it behaves and are passed to the `Rule` constructor.
    Note that besides the rule-string all arguments *must* be keyword arguments
    in order to not break the application on Werkzeug upgrades.

    `string`
        Rule strings basically are just normal URL paths with placeholders in
        the format ``<converter(arguments):name>`` where the converter and the
        arguments are optional.  If no converter is defined the `default`
        converter is used which means `string` in the normal configuration.

        URL rules that end with a slash are branch URLs, others are leaves.
        If you have `strict_slashes` enabled (which is the default), all
        branch URLs that are matched without a trailing slash will trigger a
        redirect to the same URL with the missing slash appended.

        The converters are defined on the `Map`.

    `endpoint`
        The endpoint for this rule. This can be anything. A reference to a
        function, a string, a number etc.  The preferred way is using a string
        because the endpoint is used for URL generation.

    `defaults`
        An optional dict with defaults for other rules with the same endpoint.
        This is a bit tricky but useful if you want to have unique URLs::

            url_map = Map([
                Rule('/all/', defaults={'page': 1}, endpoint='all_entries'),
                Rule('/all/page/<int:page>', endpoint='all_entries')
            ])

        If a user now visits ``http://example.com/all/page/1`` he will be
        redirected to ``http://example.com/all/``.  If `redirect_defaults` is
        disabled on the `Map` instance this will only affect the URL
        generation.

    `subdomain`
        The subdomain rule string for this rule. If not specified the rule
        only matches for the `default_subdomain` of the map.  If the map is
        not bound to a subdomain this feature is disabled.

        Can be useful if you want to have user profiles on different subdomains
        and all subdomains are forwarded to your application::

            url_map = Map([
                Rule('/', subdomain='<username>', endpoint='user/homepage'),
                Rule('/stats', subdomain='<username>', endpoint='user/stats')
            ])

    `methods`
        A sequence of http methods this rule applies to.  If not specified, all
        methods are allowed. For example this can be useful if you want different
        endpoints for `POST` and `GET`.  If methods are defined and the path
        matches but the method matched against is not in this list or in the
        list of another rule for that path the error raised is of the type
        `MethodNotAllowed` rather than `NotFound`.  If `GET` is present in the
        list of methods and `HEAD` is not, `HEAD` is added automatically.

        .. versionchanged:: 0.6.1
           `HEAD` is now automatically added to the methods if `GET` is
           present.  The reason for this is that existing code often did not
           work properly in servers not rewriting `HEAD` to `GET`
           automatically and it was not documented how `HEAD` should be
           treated.  This was considered a bug in Werkzeug because of that.

    `strict_slashes`
        Override the `Map` setting for `strict_slashes` only for this rule. If
        not specified the `Map` setting is used.

    `build_only`
        Set this to True and the rule will never match but will create a URL
        that can be build. This is useful if you have resources on a subdomain
        or folder that are not handled by the WSGI application (like static data)

    `redirect_to`
        If given this must be either a string or callable.  In case of a
        callable it's called with the url adapter that triggered the match and
        the values of the URL as keyword arguments and has to return the target
        for the redirect, otherwise it has to be a string with placeholders in
        rule syntax::

            def foo_with_slug(adapter, id):
                # ask the database for the slug for the old id.  this of
                # course has nothing to do with werkzeug.
                return 'foo/' + Foo.get_slug_for_id(id)

            url_map = Map([
                Rule('/foo/<slug>', endpoint='foo'),
                Rule('/some/old/url/<slug>', redirect_to='foo/<slug>'),
                Rule('/other/old/url/<int:id>', redirect_to=foo_with_slug)
            ])

        When the rule is matched the routing system will raise a
        `RequestRedirect` exception with the target for the redirect.

        Keep in mind that the URL will be joined against the URL root of the
        script so don't use a leading slash on the target URL unless you
        really mean root of that domain.

    `alias`
        If enabled this rule serves as an alias for another rule with the same
        endpoint and arguments.

    `host`
        If provided and the URL map has host matching enabled this can be
        used to provide a match rule for the whole host.  This also means
        that the subdomain feature is disabled.

    .. versionadded:: 0.7
       The `alias` and `host` parameters were added.
     __init__ N/A N/A self string defaults subdomain methods build_only endpoint strict_slashes redirect_to alias host N/A None None None False None None None False None N/A N/A N/A N/A N/A string startswith / N/A N/A N/A ValueError urls must start with a leading slash N/A N/A self rule string N/A N/A self is_leaf N/A N/A N/A string endswith / N/A N/A self map None N/A N/A self strict_slashes strict_slashes N/A N/A self subdomain subdomain N/A N/A self host host N/A N/A self defaults defaults N/A N/A self build_only build_only N/A N/A self alias alias N/A N/A methods None N/A N/A N/A self methods None N/A N/A N/A self methods N/A set N/A N/A N/A x upper N/A x methods N/A N/A N/A HEAD N/A self methods N/A GET N/A self methods N/A N/A N/A N/A N/A self methods add HEAD N/A N/A self endpoint endpoint N/A N/A self redirect_to redirect_to N/A defaults N/A N/A N/A self arguments N/A set N/A map str defaults N/A N/A N/A self arguments N/A set N/A N/A self _trace N/A self _converters N/A self _regex N/A self _weights None N/A empty N/A N/A self N/A N/A N/A 
        Return an unbound copy of this rule.

        This can be useful if want to reuse an already bound URL for another
        map.  See ``get_empty_kwargs`` to override what keyword arguments are
        provided to the new copy.
         N/A N/A N/A type self N/A self rule N/A N/A self get_empty_kwargs N/A get_empty_kwargs N/A N/A self N/A N/A N/A 
        Provides kwargs for instantiating empty copy with empty()

        Use this method to provide custom keyword arguments to the subclass of
        ``Rule`` when calling ``some_rule.empty()``.  Helpful when the subclass
        has custom keyword arguments that are needed at instantiation.

        Must return a ``dict`` that will be provided as kwargs to the new
        instance of ``Rule``, following the initial ``self.rule`` value which
        is always provided as the first, required positional argument.
         N/A defaults None N/A N/A self defaults N/A N/A defaults N/A dict N/A self defaults N/A N/A dict defaults defaults subdomain N/A self subdomain methods N/A self methods build_only N/A self build_only endpoint N/A self endpoint strict_slashes N/A self strict_slashes redirect_to N/A self redirect_to alias N/A self alias host N/A self host N/A get_rules N/A N/A self map N/A N/A N/A N/A self N/A refresh N/A N/A self N/A N/A N/A Rebinds and refreshes the URL.  Call this if you modified the
        rule in place.

        :internal:
         N/A N/A N/A self bind N/A self map rebind True N/A bind N/A N/A self map rebind N/A False N/A N/A Bind the url to a map and create a regular expression based on
        the information from the rule itself and the defaults from the map.

        :internal:
         N/A N/A N/A N/A self map None N/A rebind N/A N/A N/A RuntimeError N/A url rule %r already bound to map %r N/A self N/A self map N/A N/A self map map N/A N/A N/A self strict_slashes None N/A N/A N/A self strict_slashes N/A map strict_slashes N/A N/A N/A self subdomain None N/A N/A N/A self subdomain N/A map default_subdomain N/A N/A N/A self compile N/A get_converter N/A N/A self variable_name converter_name args kwargs N/A N/A N/A Looks up the converter for the given parameter.

        .. versionadded:: 0.9
         N/A N/A converter_name N/A N/A self map converters N/A N/A N/A LookupError N/A the converter %r does not exist converter_name N/A N/A N/A N/A N/A self map converters N/A converter_name N/A self map args kwargs N/A compile N/A N/A self N/A N/A N/A Compiles the regular expression and stores it. N/A N/A N/A self map None rule not bound N/A N/A N/A self map host_matching N/A N/A domain_rule N/A N/A self host N/A N/A domain_rule N/A N/A self subdomain N/A N/A self _trace N/A N/A N/A self _converters N/A N/A N/A self _weights N/A N/A regex_parts N/A _build_regex N/A N/A rule N/A N/A N/A N/A converter arguments variable N/A parse_rule rule N/A N/A N/A converter None N/A N/A N/A N/A regex_parts append N/A N/A re escape variable N/A N/A N/A N/A self _trace append N/A False variable N/A part N/A N/A variable split / N/A N/A part N/A N/A N/A N/A N/A self _weights append N/A 0 N/A N/A len part N/A N/A arguments N/A N/A N/A c_args c_kwargs N/A parse_converter_args arguments N/A N/A c_args N/A N/A c_kwargs N/A N/A convobj N/A N/A self get_converter variable converter c_args c_kwargs N/A N/A N/A regex_parts append N/A (?P<%s>%s) N/A variable N/A convobj regex N/A N/A N/A self _converters N/A variable convobj N/A N/A N/A N/A self _trace append N/A True variable N/A N/A N/A N/A self _weights append N/A 1 N/A convobj weight N/A N/A N/A N/A self arguments add N/A str variable N/A N/A N/A _build_regex domain_rule N/A N/A N/A regex_parts append \| N/A N/A N/A N/A self _trace append N/A False | N/A N/A _build_regex N/A N/A N/A self is_leaf N/A self rule N/A N/A N/A self rule rstrip / N/A N/A N/A self is_leaf N/A N/A N/A N/A N/A self _trace append N/A False / N/A N/A self build_only N/A N/A N/A regex N/A ^%s%s$ N/A N/A N/A join regex_parts N/A N/A N/A N/A N/A self is_leaf N/A N/A self strict_slashes (?<!/)(?P<__suffix__>/?) N/A N/A self _regex N/A N/A re compile regex N/A re UNICODE N/A match N/A N/A self path N/A N/A N/A Check if the rule matches a given path. Path is a string in the
        form ``"subdomain|/path(method)"`` and is assembled by the map.  If
        the map is doing host matching the subdomain part will be the host
        instead.

        If the rule matches a dict with the converted values is returned,
        otherwise the return value is `None`.

        :internal:
         N/A N/A N/A self build_only N/A N/A m N/A N/A N/A self _regex search path N/A N/A m None N/A N/A groups N/A N/A m groupdict N/A N/A N/A self strict_slashes N/A N/A self is_leaf N/A N/A N/A groups pop __suffix__ N/A N/A N/A RequestSlash N/A N/A N/A N/A self strict_slashes N/A N/A N/A groups N/A __suffix__ N/A result N/A N/A N/A name value N/A iteritems groups N/A N/A N/A N/A value N/A N/A N/A N/A self _converters N/A name to_python value N/A N/A N/A ValidationError N/A N/A N/A N/A result N/A N/A str name value N/A N/A self defaults N/A N/A N/A N/A result update N/A self defaults N/A N/A N/A self alias N/A N/A self map redirect_defaults N/A N/A N/A RequestAliasRedirect result N/A result N/A build N/A N/A self values append_unknown N/A True N/A N/A Assembles the relative url for that rule and the subdomain.
        If building doesn't work for some reasons `None` is returned.

        :internal:
         N/A tmp N/A N/A add N/A tmp append N/A processed N/A set N/A self arguments N/A N/A is_dynamic data N/A self _trace N/A N/A is_dynamic N/A N/A N/A N/A N/A add N/A N/A N/A N/A self _converters N/A data to_url N/A values N/A data N/A N/A N/A ValidationError N/A N/A N/A N/A N/A processed add data N/A N/A N/A add N/A url_quote N/A to_bytes data N/A N/A self map charset safe /:|+ N/A N/A domain_part url N/A N/A N/A N/A join tmp split | 1 N/A append_unknown N/A N/A query_vars N/A MultiDict values N/A key processed N/A N/A N/A key query_vars N/A N/A N/A query_vars N/A key N/A query_vars N/A N/A url N/A ? N/A url_encode query_vars charset N/A N/A self map charset sort N/A N/A self map sort_parameters key N/A N/A self map sort_key N/A N/A domain_part url N/A provides_defaults_for N/A N/A self rule N/A N/A N/A Check if this rule has defaults for a given rule.

        :internal:
         N/A N/A N/A N/A self build_only N/A self defaults N/A N/A self endpoint N/A rule endpoint N/A self rule N/A N/A self arguments N/A rule arguments N/A suitable_for N/A N/A self values method N/A None N/A N/A Check if the dict of values has enough data for url generation.

        :internal:
         N/A N/A N/A method None N/A N/A self methods None N/A method N/A self methods N/A N/A False N/A defaults N/A N/A self defaults N/A N/A key N/A self arguments N/A N/A N/A N/A key defaults N/A key values N/A N/A False N/A defaults N/A N/A N/A key value N/A iteritems defaults N/A N/A N/A N/A key values N/A value N/A values N/A key N/A N/A False N/A True N/A match_compare_key N/A N/A self N/A N/A N/A The match compare key for sorting.

        Current implementation:

        1.  rules without any arguments come first for performance
            reasons only as we expect them to match faster and some
            common ones usually don't have any arguments (index pages etc.)
        2.  The more complex rules come first so the second argument is the
            negative length of the number of weights.
        3.  lastly we order by the actual weights.

        :internal:
         N/A N/A N/A bool N/A self arguments N/A N/A len N/A self _weights N/A self _weights N/A build_compare_key N/A N/A self N/A N/A N/A The build compare key for sorting.

        :internal:
         N/A N/A N/A N/A N/A self alias 1 0 N/A N/A len N/A self arguments N/A N/A len N/A N/A self defaults N/A N/A __eq__ N/A N/A self other N/A N/A N/A N/A N/A N/A self __class__ N/A other __class__ N/A N/A self _trace N/A other _trace N/A __ne__ N/A N/A self other N/A N/A N/A N/A N/A N/A self __eq__ other N/A __str__ N/A N/A self N/A N/A N/A N/A self rule N/A __repr__ N/A N/A self N/A N/A N/A N/A N/A self map None N/A N/A N/A <%s (unbound)> N/A N/A self __class__ __name__ N/A tmp N/A N/A N/A is_dynamic data N/A self _trace N/A N/A is_dynamic N/A N/A N/A N/A tmp append N/A <%s> data N/A N/A N/A N/A tmp append data N/A N/A <%s %s%s -> %s> N/A N/A N/A self __class__ __name__ N/A N/A N/A repr N/A N/A N/A N/A join tmp lstrip | lstrip u N/A N/A N/A N/A self methods None N/A  (%s) N/A N/A ,  join N/A self methods N/A self endpoint N/A native_string_result N/A implements_to_string BaseConverter N/A object N/A N/A Base class for all converters. N/A regex [^/]+ N/A weight 100 __init__ N/A N/A self map N/A N/A N/A N/A self map map N/A to_python N/A N/A self value N/A N/A N/A value N/A to_url N/A N/A self value N/A N/A N/A N/A url_quote value charset N/A N/A self map charset N/A N/A UnicodeConverter N/A BaseConverter N/A N/A This converter is the default converter and accepts any string but
    only one path segment.  Thus the string can not include a slash.

    This is the default validator.

    Example::

        Rule('/pages/<page>'),
        Rule('/<string(length=2):lang_code>')

    :param map: the :class:`Map`.
    :param minlength: the minimum length of the string.  Must be greater
                      or equal 1.
    :param maxlength: the maximum length of the string.
    :param length: the exact length of the string.
     __init__ N/A N/A self map minlength maxlength length N/A 1 None None N/A N/A N/A N/A BaseConverter __init__ self map N/A N/A length None N/A N/A length N/A {%d} N/A int length N/A N/A N/A maxlength None N/A N/A maxlength N/A N/A maxlength N/A int maxlength N/A length N/A {%s,%s} N/A N/A int minlength maxlength N/A N/A self regex N/A [^/] length N/A N/A AnyConverter N/A BaseConverter N/A N/A Matches one of the items provided.  Items can either be Python
    identifiers or strings::

        Rule('/<any(about, help, imprint, class, "foo,bar"):page_name>')

    :param map: the :class:`Map`.
    :param items: this function accepts the possible items as positional
                  arguments.
     __init__ N/A N/A self map N/A items N/A N/A N/A N/A BaseConverter __init__ self map N/A N/A self regex N/A (?:%s) N/A N/A | join N/A N/A N/A re escape x N/A x items N/A N/A PathConverter N/A BaseConverter N/A N/A Like the default :class:`UnicodeConverter`, but it also matches
    slashes.  This is useful for wikis and similar applications::

        Rule('/<path:wikipage>')
        Rule('/<path:wikipage>/edit')

    :param map: the :class:`Map`.
     N/A regex [^/].*? N/A weight 200 N/A NumberConverter N/A BaseConverter N/A N/A Baseclass for `IntegerConverter` and `FloatConverter`.

    :internal:
     N/A weight 50 __init__ N/A N/A self map fixed_digits min max N/A 0 None None N/A N/A N/A N/A BaseConverter __init__ self map N/A N/A self fixed_digits fixed_digits N/A N/A self min min N/A N/A self max max N/A to_python N/A N/A self value N/A N/A N/A N/A N/A self fixed_digits N/A N/A len value N/A self fixed_digits N/A N/A N/A ValidationError N/A value N/A N/A self num_convert value N/A N/A N/A N/A N/A self min None N/A value N/A self min N/A N/A N/A self max None N/A value N/A self max N/A N/A N/A ValidationError N/A value N/A to_url N/A N/A self value N/A N/A N/A value N/A N/A self num_convert value N/A N/A self fixed_digits N/A N/A value N/A N/A %%0%sd N/A self fixed_digits value N/A N/A str value N/A N/A IntegerConverter N/A NumberConverter N/A N/A This converter only accepts integer values::

        Rule('/page/<int:page>')

    This converter does not support negative values.

    :param map: the :class:`Map`.
    :param fixed_digits: the number of fixed digits in the URL.  If you set
                         this to ``4`` for example, the application will
                         only match if the url looks like ``/0001/``.  The
                         default is variable length.
    :param min: the minimal value.
    :param max: the maximal value.
     N/A regex \d+ N/A num_convert int N/A FloatConverter N/A NumberConverter N/A N/A This converter only accepts floating point values::

        Rule('/probability/<float:probability>')

    This converter does not support negative values.

    :param map: the :class:`Map`.
    :param min: the minimal value.
    :param max: the maximal value.
     N/A regex \d+\.\d+ N/A num_convert float __init__ N/A N/A self map min max N/A None None N/A N/A N/A N/A NumberConverter __init__ self map 0 min max N/A N/A UUIDConverter N/A BaseConverter N/A N/A This converter only accepts UUID strings::

        Rule('/object/<uuid:identifier>')

    .. versionadded:: 0.10

    :param map: the :class:`Map`.
     N/A regex [A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12} to_python N/A N/A self value N/A N/A N/A N/A N/A uuid UUID value N/A to_url N/A N/A self value N/A N/A N/A N/A str value N/A N/A N/A DEFAULT_CONVERTERS N/A default string any path int float uuid UnicodeConverter UnicodeConverter AnyConverter PathConverter IntegerConverter FloatConverter UUIDConverter Map N/A object N/A N/A The map class stores all the URL rules and some configuration
    parameters.  Some of the configuration values are only stored on the
    `Map` instance since those affect all rules, others are just defaults
    and can be overridden for each rule.  Note that you have to specify all
    arguments besides the `rules` as keyword arguments!

    :param rules: sequence of url rules for this map.
    :param default_subdomain: The default subdomain for rules without a
                              subdomain defined.
    :param charset: charset of the url. defaults to ``"utf-8"``
    :param strict_slashes: Take care of trailing slashes.
    :param redirect_defaults: This will redirect to the default rule if it
                              wasn't visited that way. This helps creating
                              unique URLs.
    :param converters: A dict of converters that adds additional converters
                       to the list of converters. If you redefine one
                       converter this will override the original one.
    :param sort_parameters: If set to `True` the url parameters are sorted.
                            See `url_encode` for more details.
    :param sort_key: The sort key function for `url_encode`.
    :param encoding_errors: the error method to use for decoding
    :param host_matching: if set to `True` it enables the host matching
                          feature and disables the subdomain one.  If
                          enabled the `host` parameter to rules is used
                          instead of the `subdomain` one.

    .. versionadded:: 0.5
        `sort_parameters` and `sort_key` was added.

    .. versionadded:: 0.7
        `encoding_errors` and `host_matching` was added.
     N/A default_converters N/A ImmutableDict DEFAULT_CONVERTERS __init__ N/A N/A self rules default_subdomain charset strict_slashes redirect_defaults converters sort_parameters sort_key encoding_errors host_matching N/A None utf-8 True True None False None replace False N/A N/A N/A self _rules N/A N/A N/A self _rules_by_endpoint N/A N/A N/A self _remap True N/A N/A self _remap_lock N/A Lock N/A N/A self default_subdomain default_subdomain N/A N/A self charset charset N/A N/A self encoding_errors encoding_errors N/A N/A self strict_slashes strict_slashes N/A N/A self redirect_defaults redirect_defaults N/A N/A self host_matching host_matching N/A N/A self converters N/A N/A N/A self default_converters copy N/A converters N/A N/A N/A N/A N/A self converters update converters N/A N/A self sort_parameters sort_parameters N/A N/A self sort_key sort_key N/A rulefactory N/A rules N/A N/A N/A N/A N/A self add rulefactory N/A is_endpoint_expecting N/A N/A self endpoint N/A arguments N/A N/A Iterate over all rules and check if the endpoint expects
        the arguments provided.  This is for example useful if you have
        some URLs that expect a language code and others that do not and
        you want to wrap the builder a bit so that the current language
        code is automatically added if not provided but endpoints expect
        it.

        :param endpoint: the endpoint to check.
        :param arguments: this function accepts one or more arguments
                          as positional arguments.  Each one of them is
                          checked.
         N/A N/A N/A self update N/A arguments N/A set arguments N/A rule N/A N/A self _rules_by_endpoint N/A endpoint N/A N/A N/A N/A arguments issubset N/A rule arguments N/A N/A True N/A False N/A iter_rules N/A N/A self endpoint N/A None N/A N/A Iterate over all rules or the rules of an endpoint.

        :param endpoint: if provided only the rules for that endpoint
                         are returned.
        :return: an iterator
         N/A N/A N/A self update N/A N/A endpoint None N/A N/A N/A iter N/A N/A self _rules_by_endpoint N/A endpoint N/A N/A iter N/A self _rules N/A add N/A N/A self rulefactory N/A N/A N/A Add a new rule or factory to the map and bind it.  Requires that the
        rule is not bound to another map.

        :param rulefactory: a :class:`Rule` or :class:`RuleFactory`
         N/A rule N/A N/A rulefactory get_rules self N/A N/A N/A N/A rule bind self N/A N/A N/A N/A self _rules append rule N/A N/A N/A N/A N/A N/A self _rules_by_endpoint setdefault N/A rule endpoint N/A append rule N/A N/A self _remap True N/A bind N/A N/A self server_name script_name subdomain url_scheme default_method path_info query_args N/A None None http GET None None N/A N/A Return a new :class:`MapAdapter` with the details specified to the
        call.  Note that `script_name` will default to ``'/'`` if not further
        specified or `None`.  The `server_name` at least is a requirement
        because the HTTP RFC requires absolute URLs for redirects and so all
        redirect exceptions raised by Werkzeug will contain the full canonical
        URL.

        If no path_info is passed to :meth:`match` it will use the default path
        info passed to bind.  While this doesn't really make sense for
        manual bind calls, it's useful if you bind a map to a WSGI
        environment which already contains the path info.

        `subdomain` will default to the `default_subdomain` for this map if
        no defined. If there is no `default_subdomain` you cannot use the
        subdomain feature.

        .. versionadded:: 0.7
           `query_args` added

        .. versionadded:: 0.8
           `query_args` can now also be a string.
         N/A server_name N/A N/A server_name lower N/A N/A self host_matching N/A N/A N/A subdomain None N/A N/A N/A RuntimeError host matching enabled and a subdomain was provided N/A N/A N/A subdomain None N/A N/A subdomain N/A self default_subdomain N/A N/A script_name None N/A N/A script_name / N/A server_name N/A _encode_idna server_name N/A N/A MapAdapter self server_name script_name subdomain url_scheme path_info default_method query_args N/A bind_to_environ N/A N/A self environ server_name subdomain N/A None None N/A N/A Like :meth:`bind` but you can pass it an WSGI environment and it
        will fetch the information from that dictionary.  Note that because of
        limitations in the protocol there is no way to get the current
        subdomain and real `server_name` from the environment.  If you don't
        provide it, Werkzeug will use `SERVER_NAME` and `SERVER_PORT` (or
        `HTTP_HOST` if provided) as used `server_name` with disabled subdomain
        feature.

        If `subdomain` is `None` but an environment and a server name is
        provided it will calculate the current subdomain automatically.
        Example: `server_name` is ``'example.com'`` and the `SERVER_NAME`
        in the wsgi `environ` is ``'staging.dev.example.com'`` the calculated
        subdomain will be ``'staging.dev'``.

        If the object passed as environ has an environ attribute, the value of
        this attribute is used instead.  This allows you to pass request
        objects.  Additionally `PATH_INFO` added as a default of the
        :class:`MapAdapter` so that you don't have to pass the path info to
        the match method.

        .. versionchanged:: 0.5
            previously this method accepted a bogus `calculate_subdomain`
            parameter that did not have any effect.  It was removed because
            of that.

        .. versionchanged:: 0.8
           This will no longer raise a ValueError when an unexpected server
           name was passed.

        :param environ: a WSGI environment.
        :param server_name: an optional server name hint (see above).
        :param subdomain: optionally the current subdomain (see above).
         N/A environ N/A _get_environ environ N/A N/A server_name None N/A N/A N/A HTTP_HOST environ N/A N/A server_name N/A environ N/A HTTP_HOST N/A N/A server_name N/A environ N/A SERVER_NAME N/A N/A N/A N/A environ N/A wsgi.url_scheme N/A environ N/A SERVER_PORT N/A N/A https 443 N/A http 80 N/A N/A server_name N/A : N/A environ N/A SERVER_PORT N/A N/A N/A N/A subdomain None N/A N/A self host_matching N/A N/A server_name N/A N/A server_name lower N/A N/A HTTP_HOST environ N/A N/A wsgi_server_name N/A N/A environ get HTTP_HOST N/A N/A wsgi_server_name N/A N/A environ get SERVER_NAME N/A N/A N/A N/A environ N/A wsgi.url_scheme N/A environ N/A SERVER_PORT N/A N/A https 443 N/A http 80 N/A N/A wsgi_server_name N/A : N/A environ N/A SERVER_PORT N/A wsgi_server_name N/A N/A wsgi_server_name lower N/A cur_server_name N/A N/A wsgi_server_name split . N/A real_server_name N/A N/A server_name split . N/A offset N/A N/A len real_server_name N/A N/A N/A cur_server_name N/A offset real_server_name N/A N/A subdomain <invalid> N/A N/A subdomain N/A N/A . join N/A filter None N/A cur_server_name N/A offset _get_wsgi_string N/A N/A name N/A N/A N/A val N/A N/A environ get name N/A N/A val None N/A N/A N/A wsgi_decoding_dance val N/A self charset N/A N/A script_name N/A _get_wsgi_string SCRIPT_NAME N/A path_info N/A _get_wsgi_string PATH_INFO N/A query_args N/A _get_wsgi_string QUERY_STRING N/A N/A N/A Map bind self server_name script_name subdomain N/A environ N/A wsgi.url_scheme N/A environ N/A REQUEST_METHOD path_info query_args query_args N/A update N/A N/A self N/A N/A N/A Called before matching and building to keep the compiled rules
        in the correct order after things changed.
         N/A N/A N/A self _remap N/A N/A N/A N/A self _remap_lock N/A N/A N/A N/A self _remap N/A N/A N/A N/A N/A N/A self _rules sort key N/A N/A N/A x N/A N/A N/A x match_compare_key N/A rules N/A itervalues N/A self _rules_by_endpoint N/A N/A N/A N/A rules sort key N/A N/A N/A x N/A N/A N/A x build_compare_key N/A N/A self _remap False N/A __repr__ N/A N/A self N/A N/A N/A rules N/A N/A self iter_rules N/A N/A %s(%s) N/A N/A N/A self __class__ __name__ N/A pformat N/A list rules N/A N/A MapAdapter N/A object N/A N/A Returned by :meth:`Map.bind` or :meth:`Map.bind_to_environ` and does
    the URL matching and building based on runtime information.
     __init__ N/A N/A self map server_name script_name subdomain url_scheme path_info default_method query_args N/A None N/A N/A N/A self map map N/A N/A self server_name N/A to_unicode server_name N/A script_name N/A to_unicode script_name N/A N/A N/A N/A script_name endswith / N/A N/A script_name / N/A N/A self script_name script_name N/A N/A self subdomain N/A to_unicode subdomain N/A N/A self url_scheme N/A to_unicode url_scheme N/A N/A self path_info N/A to_unicode path_info N/A N/A self default_method N/A to_unicode default_method N/A N/A self query_args query_args N/A dispatch N/A N/A self view_func path_info method catch_http_exceptions N/A None None False N/A N/A Does the complete dispatching process.  `view_func` is called with
        the endpoint and a dict with the values for the view.  It should
        look up the view function, call it, and return a response object
        or WSGI application.  http exceptions are not caught by default
        so that applications can display nicer error messages by just
        catching them by hand.  If you want to stick with the default
        error messages you can pass it ``catch_http_exceptions=True`` and
        it will catch the http exceptions.

        Here a small example for the dispatch usage::

            from werkzeug.wrappers import Request, Response
            from werkzeug.wsgi import responder
            from werkzeug.routing import Map, Rule

            def on_index(request):
                return Response('Hello from the index')

            url_map = Map([Rule('/', endpoint='index')])
            views = {'index': on_index}

            @responder
            def application(environ, start_response):
                request = Request(environ)
                urls = url_map.bind_to_environ(environ)
                return urls.dispatch(lambda e, v: views[e](request, **v),
                                     catch_http_exceptions=True)

        Keep in mind that this method might return exception objects, too, so
        use :class:`Response.force_type` to get a response object.

        :param view_func: a function that is called with the endpoint as
                          first argument and the value dict as second.  Has
                          to dispatch to the actual view function with this
                          information.  (see above)
        :param path_info: the path info to use for matching.  Overrides the
                          path info specified on binding.
        :param method: the HTTP method used for matching.  Overrides the
                       method specified on binding.
        :param catch_http_exceptions: set to `True` to catch any of the
                                      werkzeug :class:`HTTPException`\s.
         N/A N/A N/A N/A N/A N/A endpoint args N/A N/A self match path_info method N/A N/A N/A RequestRedirect N/A e N/A N/A e N/A N/A view_func endpoint args N/A N/A N/A HTTPException N/A e N/A N/A catch_http_exceptions N/A N/A e N/A N/A match N/A N/A self path_info method return_rule query_args N/A None None False None N/A N/A The usage is simple: you just pass the match method the current
        path info as well as the method (which defaults to `GET`).  The
        following things can then happen:

        - you receive a `NotFound` exception that indicates that no URL is
          matching.  A `NotFound` exception is also a WSGI application you
          can call to get a default page not found page (happens to be the
          same object as `werkzeug.exceptions.NotFound`)

        - you receive a `MethodNotAllowed` exception that indicates that there
          is a match for this URL but not for the current request method.
          This is useful for RESTful applications.

        - you receive a `RequestRedirect` exception with a `new_url`
          attribute.  This exception is used to notify you about a request
          Werkzeug requests from your WSGI application.  This is for example the
          case if you request ``/foo`` although the correct URL is ``/foo/``
          You can use the `RequestRedirect` instance as response-like object
          similar to all other subclasses of `HTTPException`.

        - you get a tuple in the form ``(endpoint, arguments)`` if there is
          a match (unless `return_rule` is True, in which case you get a tuple
          in the form ``(rule, arguments)``)

        If the path info is not passed to the match method the default path
        info of the map is used (defaults to the root URL if not defined
        explicitly).

        All of the exceptions raised are subclasses of `HTTPException` so they
        can be used as WSGI responses.  The will all render generic error or
        redirect pages.

        Here is a small example for matching:

        >>> m = Map([
        ...     Rule('/', endpoint='index'),
        ...     Rule('/downloads/', endpoint='downloads/index'),
        ...     Rule('/downloads/<int:id>', endpoint='downloads/show')
        ... ])
        >>> urls = m.bind("example.com", "/")
        >>> urls.match("/", "GET")
        ('index', {})
        >>> urls.match("/downloads/42")
        ('downloads/show', {'id': 42})

        And here is what happens on redirect and missing URLs:

        >>> urls.match("/downloads")
        Traceback (most recent call last):
          ...
        RequestRedirect: http://example.com/downloads/
        >>> urls.match("/missing")
        Traceback (most recent call last):
          ...
        NotFound: 404 Not Found

        :param path_info: the path info to use for matching.  Overrides the
                          path info specified on binding.
        :param method: the HTTP method used for matching.  Overrides the
                       method specified on binding.
        :param return_rule: return the rule that matched instead of just the
                            endpoint (defaults to `False`).
        :param query_args: optional query arguments that are used for
                           automatic redirects as string or dictionary.  It's
                           currently not possible to use the query arguments
                           for URL matching.

        .. versionadded:: 0.6
           `return_rule` was added.

        .. versionadded:: 0.7
           `query_args` was added.

        .. versionchanged:: 0.8
           `query_args` can now also be a string.
         N/A N/A N/A N/A self map update N/A N/A path_info None N/A N/A path_info N/A self path_info N/A N/A path_info N/A to_unicode path_info N/A N/A self map charset N/A N/A query_args None N/A N/A query_args N/A self query_args N/A method N/A N/A N/A method N/A self default_method upper N/A path N/A %s|%s N/A N/A N/A N/A N/A self map host_matching N/A self server_name N/A self subdomain N/A path_info N/A /%s N/A N/A path_info lstrip / N/A have_match_for N/A set N/A rule N/A N/A self map _rules N/A N/A N/A N/A rv N/A N/A rule match path N/A N/A N/A RequestSlash N/A N/A N/A RequestRedirect N/A N/A self make_redirect_url N/A N/A url_quote path_info N/A N/A self map charset safe /:|+ / query_args N/A N/A RequestAliasRedirect N/A e N/A N/A N/A RequestRedirect N/A N/A self make_alias_redirect_url path N/A rule endpoint N/A e matched_values method query_args N/A N/A rv None N/A N/A N/A N/A N/A N/A rule methods None N/A method N/A rule methods N/A N/A N/A N/A have_match_for update N/A rule methods N/A N/A N/A N/A self map redirect_defaults N/A N/A redirect_url N/A N/A self get_default_redirect rule method rv query_args N/A N/A redirect_url None N/A N/A N/A RequestRedirect redirect_url N/A N/A N/A rule redirect_to None N/A N/A N/A isinstance N/A rule redirect_to string_types N/A _handle_match N/A N/A match N/A N/A N/A value N/A rv N/A N/A N/A match group 1 N/A N/A N/A N/A N/A rule _converters N/A N/A N/A match group 1 to_url value N/A N/A redirect_url N/A N/A _simple_rule_re sub _handle_match N/A rule redirect_to N/A N/A redirect_url N/A N/A rule redirect_to self rv N/A N/A RequestRedirect N/A str N/A url_join N/A %s://%s%s%s N/A N/A N/A self url_scheme http N/A N/A N/A self subdomain N/A N/A self subdomain . N/A self server_name N/A self script_name redirect_url N/A return_rule N/A N/A N/A rule rv N/A N/A N/A N/A rule endpoint rv N/A have_match_for N/A N/A N/A MethodNotAllowed valid_methods N/A list have_match_for N/A N/A NotFound N/A test N/A N/A self path_info method N/A None None N/A N/A Test if a rule would match.  Works like `match` but returns `True`
        if the URL matches, or `False` if it does not exist.

        :param path_info: the path info to use for matching.  Overrides the
                          path info specified on binding.
        :param method: the HTTP method used for matching.  Overrides the
                       method specified on binding.
         N/A N/A N/A N/A N/A self match path_info method N/A N/A N/A RequestRedirect N/A N/A N/A N/A HTTPException N/A N/A False N/A True N/A allowed_methods N/A N/A self path_info N/A None N/A N/A Returns the valid methods that match for a given path.

        .. versionadded:: 0.7
         N/A N/A N/A N/A N/A self match path_info method -- N/A N/A N/A MethodNotAllowed N/A e N/A N/A N/A e valid_methods N/A N/A HTTPException N/A e N/A N/A N/A N/A N/A get_host N/A N/A self domain_part N/A N/A N/A Figures out the full host name for the given domain part.  The
        domain part is a subdomain in case host matching is disabled or
        a full host name.
         N/A N/A N/A self map host_matching N/A N/A N/A domain_part None N/A N/A N/A self server_name N/A N/A to_unicode domain_part ascii N/A subdomain domain_part N/A N/A subdomain None N/A N/A subdomain N/A self subdomain N/A N/A subdomain N/A to_unicode subdomain ascii N/A N/A N/A N/A subdomain N/A subdomain . N/A self server_name N/A get_default_redirect N/A N/A self rule method values query_args N/A N/A N/A A helper that returns the URL to redirect to if it finds one.
        This is used for default redirecting only.

        :internal:
         N/A N/A N/A self map redirect_defaults N/A r N/A N/A N/A self map _rules_by_endpoint N/A N/A rule endpoint N/A N/A N/A r rule N/A N/A N/A N/A N/A N/A r provides_defaults_for rule N/A N/A r suitable_for values method N/A N/A N/A N/A values update N/A r defaults N/A N/A domain_part path N/A N/A r build values N/A N/A N/A self make_redirect_url path query_args domain_part domain_part N/A encode_query_args N/A N/A self query_args N/A N/A N/A N/A N/A isinstance query_args string_types N/A N/A query_args N/A url_encode query_args N/A N/A self map charset N/A query_args N/A make_redirect_url N/A N/A self path_info query_args domain_part N/A None None N/A N/A Creates a redirect URL.

        :internal:
         N/A suffix N/A query_args N/A N/A suffix N/A ? N/A N/A self encode_query_args query_args N/A N/A str N/A %s://%s/%s%s N/A N/A N/A self url_scheme http N/A N/A self get_host domain_part N/A N/A posixpath join N/A N/A N/A N/A self script_name N/A -1 lstrip / N/A N/A path_info lstrip / suffix N/A make_alias_redirect_url N/A N/A self path endpoint values method query_args N/A N/A N/A Internally called to make an alias redirect URL. N/A url N/A N/A self build endpoint values method append_unknown False force_external True N/A query_args N/A N/A url N/A ? N/A N/A self encode_query_args query_args N/A N/A url path detected invalid alias setting.  No canonical URL found N/A url N/A _partial_build N/A N/A self endpoint values method append_unknown N/A N/A N/A Helper for :meth:`build`.  Returns subdomain and path for the
        rule that accepts this endpoint, values and method.

        :internal:
         N/A N/A method None N/A N/A rv N/A N/A self _partial_build endpoint values N/A self default_method append_unknown N/A N/A rv None N/A N/A rv N/A rule N/A N/A N/A N/A self map _rules_by_endpoint get endpoint N/A N/A N/A N/A N/A rule suitable_for values method N/A N/A rv N/A N/A rule build values append_unknown N/A N/A rv None N/A N/A rv N/A build N/A N/A self endpoint values method force_external append_unknown N/A None None False True N/A N/A Building URLs works pretty much the other way round.  Instead of
        `match` you call `build` and pass it the endpoint and a dict of
        arguments for the placeholders.

        The `build` function also accepts an argument called `force_external`
        which, if you set it to `True` will force external URLs. Per default
        external URLs (include the server name) will only be used if the
        target URL is on a different subdomain.

        >>> m = Map([
        ...     Rule('/', endpoint='index'),
        ...     Rule('/downloads/', endpoint='downloads/index'),
        ...     Rule('/downloads/<int:id>', endpoint='downloads/show')
        ... ])
        >>> urls = m.bind("example.com", "/")
        >>> urls.build("index", {})
        '/'
        >>> urls.build("downloads/show", {'id': 42})
        '/downloads/42'
        >>> urls.build("downloads/show", {'id': 42}, force_external=True)
        'http://example.com/downloads/42'

        Because URLs cannot contain non ASCII data you will always get
        bytestrings back.  Non ASCII characters are urlencoded with the
        charset defined on the map instance.

        Additional values are converted to unicode and appended to the URL as
        URL querystring parameters:

        >>> urls.build("index", {'q': 'My Searchstring'})
        '/?q=My+Searchstring'

        When processing those additional values, lists are furthermore
        interpreted as multiple values (as per
        :py:class:`werkzeug.datastructures.MultiDict`):

        >>> urls.build("index", {'q': ['a', 'b', 'c']})
        '/?q=a&q=b&q=c'

        If a rule does not exist when building a `BuildError` exception is
        raised.

        The build method accepts an argument called `method` which allows you
        to specify the method you want to have an URL built for if you have
        different methods for the same endpoint specified.

        .. versionadded:: 0.6
           the `append_unknown` parameter was added.

        :param endpoint: the endpoint of the URL to build.
        :param values: the values for the URL to build.  Unhandled values are
                       appended to the URL as query parameters.
        :param method: the HTTP method for the rule if there are different
                       URLs for different methods on the same endpoint.
        :param force_external: enforce full canonical external URLs. If the URL
                               scheme is not provided, this will generate
                               a protocol-relative URL.
        :param append_unknown: unknown parameters are appended to the generated
                               URL as query string argument.  Disable this
                               if you want the builder to ignore those.
         N/A N/A N/A N/A self map update N/A values N/A N/A N/A isinstance values MultiDict N/A N/A valueiter N/A iteritems values multi True N/A N/A valueiter N/A iteritems values N/A values N/A dict N/A N/A k v N/A N/A k v valueiter N/A v None N/A N/A values N/A N/A rv N/A N/A self _partial_build endpoint values method append_unknown N/A N/A rv None N/A N/A N/A BuildError endpoint values method N/A N/A domain_part path rv N/A host N/A N/A self get_host domain_part N/A N/A N/A force_external N/A N/A N/A N/A self map host_matching N/A host N/A self server_name N/A N/A N/A N/A self map host_matching N/A domain_part N/A self subdomain N/A N/A N/A str N/A url_join N/A self script_name N/A ./ N/A N/A path lstrip / N/A N/A str N/A %s//%s%s/%s N/A N/A N/A self url_scheme N/A N/A self url_scheme : host N/A N/A self script_name N/A -1 N/A N/A path lstrip / N/A N/A