package Ġcom . hit ri pe k ac . scr amble Ċ Ċ class ĠCod er Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġencoding Map : ĠArray < String > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 3 5 7 1 9 8 6 2 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 7 8 9 1 2 3 4 5 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 9 8 7 6 4 5 3 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 4 6 5 7 9 8 3 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 8 5 2 9 6 2 1 4 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 8 6 4 8 9 7 2 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 2 5 8 1 4 7 3 9 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 6 4 5 9 7 8 3 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 0 7 8 9 4 5 6 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 1 4 5 6 7 8 9 2 3 " ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġvar Ġdecoding Map : ĠArray < String > Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 4 8 1 8 2 7 3 6 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 4 5 6 7 8 9 1 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 9 8 7 5 6 4 3 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 9 8 7 1 9 2 4 6 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 3 6 8 2 5 9 1 4 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 8 7 9 3 1 2 6 4 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 4 1 7 5 2 Ġ 3 3 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 8 9 7 2 3 1 5 6 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 8 9 0 5 6 7 2 3 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 1 8 9 2 3 4 5 6 7 " ĊĠĠĠ Ġ) ĊĊĊĠĠĠ Ġfun Ġencode Coordinate ( coordinate : ĠString , Ġcipher : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtransform ( coordinate , Ġencoding Map [ cipher ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecode Coordinate ( coordinate : ĠString , Ġcipher : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtransform ( coordinate , Ġdecoding Map [ cipher ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtransform ( coordinates : ĠString , Ġcipher : ĠString ): ĠString Ġ= Ġcoordinates ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġsingle Ġ-> Ġsingle Ġ- Ġ' 0 ' Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġin Ġ 0 .. 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcipher [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' 0 ' Ġ+ Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. join ToString ("") Ċ } Ċ