code: def from_dict(d):
          
          return Specs(
              qubits_specs=sorted([QubitSpecs(id=int(q),
                                              fRO=qspecs.get('fRO'),
                                              f1QRB=qspecs.get('f1QRB'),
                                              T1=qspecs.get('T1'),
                                              T2=qspecs.get('T2'),
                                              fActiveReset=qspecs.get('fActiveReset'))
                                   for q, qspecs in d["1Q"].items()],
                                  key=lambda qubit_specs: qubit_specs.id),
              edges_specs=sorted([EdgeSpecs(targets=[int(q) for q in e.split('-')],
                                            fBellState=especs.get('fBellState'),
                                            fCZ=especs.get('fCZ'),
                                            fCZ_std_err=especs.get('fCZ_std_err'),
                                            fCPHASE=especs.get('fCPHASE'))
                                  for e, especs in d["2Q"].items()],
                                 key=lambda edge_specs: edge_specs.targets)
          )
docs: Re-create the Specs from a dictionary representation.
  
          :param Dict[str, Any] d: The dictionary representation.
          :return: The restored Specs.
          :rtype: Specs