package Ġfunc ify . feature . tools . container . graph Ċ Ċ import Ġkotlinx . collections . immutable . Persistent Map Ċ import Ġkotlinx . collections . immutable . Persistent Set ĊĊ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author Ġsm cc arr on Ċ Ġ* Ġ@ created Ġ 4 / 3 / 2 2 Ċ Ġ*/ Ċ interface ĠTwo ToMany Path To Edge Graph < P , ĠV , ĠE > Ġ: ĠPath Based Graph < P , ĠV , ĠE > Ġ{ ĊĊĠĠĠ Ġval Ġedges Set By Path Pair : ĠPersistent Map < Pair < P , ĠP >, ĠPersistent Set < E >> ĊĊĠĠĠ Ġoverride Ġfun Ġ< R > Ġfold ( two ToOne : Ġ( Persistent Map < P , ĠV >, ĠPersistent Map < Pair < P , ĠP >, ĠE >) Ġ-> ĠR , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtwo ToMany : Ġ( Persistent Map < P , ĠV >, ĠPersistent Map < Pair < P , ĠP >, ĠPersistent Set < E >>) Ġ-> ĠR ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtwo ToMany . invoke ( vertices By Path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedges Set By Path Pair ) ĊĠĠĠ Ġ} Ċ }