[{ s =
   (DirectiveStmt
      { d =
        (Pragma (("solidity", _),
           [(Tk _);
             (E
                { e =
                  (Call (
                     { e = (Special ((Op BitXor), _)); e_id = 0;
                       e_range = None; is_implicit_return = false;
                       facts = <opaque> },
                     (_,
                      [(Arg
                          { e = (L (String (_, ("0.8.7", _), _))); e_id = 0;
                            e_range = None; is_implicit_return = false;
                            facts = <opaque> })
                        ],
                      _)
                     ));
                  e_id = 0; e_range = None; is_implicit_return = false;
                  facts = <opaque> });
             (Tk _)]
           ));
        d_attrs = [] });
   s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("C", _),
                { id_resolved = ref (None);
                  id_resolved_alternatives = ref ([]); id_type = ref (None);
                  id_svalue = ref (Unknown); id_flags = ref (0);
                  id_info_id = _ }
                )));
          attrs = []; tparams = None },
        (ClassDef
           { ckind = (Object, _); cextends = []; cimplements = [];
             cmixins = []; cparams = (_, [], _);
             cbody =
             (_,
              [(F
                  { s =
                    (DefStmt
                       ({ name =
                          (EN
                             (Id (("s", _),
                                { id_resolved = ref (None);
                                  id_resolved_alternatives = ref ([]);
                                  id_type = ref (None);
                                  id_svalue = ref (Unknown);
                                  id_flags = ref (0); id_info_id = _ }
                                )));
                          attrs = [(KeywordAttr (Public, _))]; tparams = None
                          },
                        (VarDef
                           { vinit = None;
                             vtype =
                             (Some { t =
                                     (TyN
                                        (Id (("uint256", _),
                                           { id_resolved = ref (None);
                                             id_resolved_alternatives =
                                             ref ([]); id_type = ref (None);
                                             id_svalue = ref (Unknown);
                                             id_flags = ref (0);
                                             id_info_id = _ }
                                           )));
                                     t_attrs = [] });
                             vtok = (Some _) })));
                    s_range = None });
                (F
                   { s =
                     (DefStmt
                        ({ name =
                           (EN
                              (Id (("func", _),
                                 { id_resolved = ref (None);
                                   id_resolved_alternatives = ref ([]);
                                   id_type = ref (None);
                                   id_svalue = ref (Unknown);
                                   id_flags = ref (0); id_info_id = _ }
                                 )));
                           attrs = [(KeywordAttr (Public, _))];
                           tparams = None },
                         (FuncDef
                            { fkind = (Function, _);
                              fparams =
                              (_,
                               [(Param
                                   { pname = (Some ("v", _));
                                     ptype =
                                     (Some { t =
                                             (TyN
                                                (Id (("uint128", _),
                                                   { id_resolved = ref (None);
                                                     id_resolved_alternatives =
                                                     ref ([]);
                                                     id_type = ref (None);
                                                     id_svalue =
                                                     ref (Unknown);
                                                     id_flags = ref (0);
                                                     id_info_id = _ }
                                                   )));
                                             t_attrs = [] });
                                     pdefault = None; pattrs = [];
                                     pinfo =
                                     { id_resolved =
                                       ref ((Some (Parameter, _)));
                                       id_resolved_alternatives = ref ([]);
                                       id_type =
                                       ref ((Some { t =
                                                    (TyN
                                                       (Id (("uint128", _),
                                                          { id_resolved =
                                                            ref (None);
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref (None);
                                                            id_svalue =
                                                            ref (Unknown);
                                                            id_flags =
                                                            ref (0);
                                                            id_info_id = _ }
                                                          )));
                                                    t_attrs = [] }));
                                       id_svalue = ref (Unknown);
                                       id_flags = ref (0); id_info_id = _ }
                                     })
                                 ],
                               _);
                              frettype = None;
                              fbody =
                              (FBStmt
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (OtherStmtWithStmt (
                                             (OSWS_Block ("Unchecked", _)),
                                             [],
                                             { s =
                                               (Block
                                                  (_,
                                                   [{ s =
                                                      (ExprStmt (
                                                         { e =
                                                           (Assign (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("s", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              _,
                                                              { e =
                                                                (Call (
                                                                   { e =
                                                                    (Special
                                                                    ((
                                                                    Op Minus),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                   (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("s", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("v", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("uint128",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    t_attrs =
                                                                    [] }));
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })], _)
                                                                   ));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> }
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> },
                                                         _));
                                                      s_range = None }
                                                     ],
                                                   _));
                                               s_range = None }
                                             ));
                                          s_range = None };
                                         { s =
                                           (DefStmt
                                              ({ name =
                                                 (EPattern
                                                    (PatTuple
                                                       (_,
                                                        [(PatTyped (
                                                            (PatId ((
                                                               "r", _),
                                                               { id_resolved =
                                                                 ref ((Some (
                                                                 LocalVar, _)));
                                                                 id_resolved_alternatives =
                                                                 ref (
                                                                 []);
                                                                 id_type =
                                                                 ref ((Some 
                                                                 { t =
                                                                   (TyN
                                                                    (Id (
                                                                    ("bool",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                   t_attrs =
                                                                   [] }));
                                                                 id_svalue =
                                                                 ref (Unknown);
                                                                 id_flags =
                                                                 ref (0);
                                                                 id_info_id =
                                                                 _ }
                                                               )),
                                                            { t =
                                                              (TyN
                                                                 (Id (
                                                                    (
                                                                    "bool", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                              t_attrs = [] }
                                                            ))
                                                          ],
                                                        _)));
                                                 attrs = []; tparams = None },
                                               (VarDef
                                                  { vinit =
                                                    (Some { e =
                                                            (Call (
                                                               { e =
                                                                 (OtherExpr (
                                                                    (
                                                                    "StructExpr",
                                                                    _),
                                                                    [(E
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("msg", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("sender",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })))));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("call",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })))));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Tk _);
                                                                    (I
                                                                    ("value",
                                                                    _));
                                                                    (E
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("v", _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("uint128",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    t_attrs =
                                                                    [] }));
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                                    (Tk _)]));
                                                                 e_id = 0;
                                                                 e_range =
                                                                 None;
                                                                 is_implicit_return =
                                                                 false;
                                                                 facts =
                                                                 <opaque> },
                                                               (_,
                                                                [(Arg
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("", _),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                  ],
                                                                _)
                                                               ));
                                                            e_id = 0;
                                                            e_range = None;
                                                            is_implicit_return =
                                                            false;
                                                            facts = <opaque>
                                                            });
                                                    vtype = None; vtok = None
                                                    })));
                                           s_range = None };
                                         { s =
                                           (ExprStmt (
                                              { e =
                                                (Call (
                                                   { e =
                                                     (N
                                                        (Id (("require", _),
                                                           { id_resolved =
                                                             ref (None);
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref (None);
                                                             id_svalue =
                                                             ref (Unknown);
                                                             id_flags =
                                                             ref (0);
                                                             id_info_id = _ }
                                                           )));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     },
                                                   (_,
                                                    [(Arg
                                                        { e =
                                                          (N
                                                             (Id (("r", _),
                                                                { id_resolved =
                                                                  ref ((Some (
                                                                  LocalVar, _)));
                                                                  id_resolved_alternatives =
                                                                  ref (
                                                                  []);
                                                                  id_type =
                                                                  ref ((Some 
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("bool",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    t_attrs =
                                                                    [] }));
                                                                  id_svalue =
                                                                  ref (Unknown);
                                                                  id_flags =
                                                                  ref (0);
                                                                  id_info_id =
                                                                  _ }
                                                                )));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> });
                                                      (Arg
                                                         { e =
                                                           (L
                                                              (String
                                                                 (_,
                                                                  (" transfer ",
                                                                   _),
                                                                  _)));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> })
                                                      ],
                                                    _)
                                                   ));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              _));
                                           s_range = None }
                                         ],
                                       _));
                                   s_range = None })
                              })));
                     s_range = None })
                ],
              _)
             })));
    s_range = None }
  ]