var Ġlog Ġ= Ġ"" Ċ Ċ fun Ġlogged ( value : ĠString ) Ġ= ĊĠĠĠ Ġvalue . also Ġ{ Ġlog Ġ+= Ġvalue Ġ} Ċ Ċ object ĠA Ġ{ ĊĠĠĠ Ġvar Ġx Ġ= Ġ"" ĊĠĠĠ Ġvar Ġgets Ġ= Ġ"" ĊĠĠĠ Ġvar Ġsets Ġ= Ġ"" ĊĊĠĠĠ Ġoperator Ġfun Ġget ( var arg Ġva : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( s Ġin Ġva ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgets Ġ+= Ġs ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlog Ġ+= Ġ" get ;" ĊĠĠĠĠĠĠĠ Ġreturn Ġx ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġset ( var arg Ġva : ĠString , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( s Ġin Ġva ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsets Ġ+= Ġs ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlog Ġ+= Ġ" set ;" ĊĠĠĠĠĠĠĠ Ġx Ġ= Ġvalue ĊĠĠĠ Ġ} Ċ } Ċ Ċ operator Ġfun ĠString . inc () Ġ= Ġthis Ġ+ Ġlogged (" inc ; ") Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ ĠA . x Ġ= Ġ" start ;" ĊĠĠĠ Ġval Ġxx Ġ= ĠA [ logged (" 1 ; "), Ġlogged (" 2 ; "), Ġlogged (" 3 ; ")] ++ ĊĠĠĠ Ġif Ġ( xx Ġ!= Ġ" start ; ") Ġreturn Ġ" Failed Ġxx : Ġ$ xx " ĊĠĠĠ Ġif Ġ( A . x Ġ!= Ġ" start ; inc ; ") Ġreturn Ġ" Failed ĠA . x : Ġ${ A . x }" ĊĠĠĠ Ġif Ġ( A . gets Ġ!= Ġ" 1 ; 2 ; 3 ; ") Ġreturn Ġ" Failed ĠA . gets : Ġ${ A . gets }" ĊĠĠĠ Ġif Ġ( A . sets Ġ!= Ġ" 1 ; 2 ; 3 ; ") Ġreturn Ġ" Failed ĠA . sets : Ġ${ A . sets }" ĊĠĠĠ Ġif Ġ( log Ġ!= Ġ" 1 ; 2 ; 3 ; get ; inc ; set ; ") Ġreturn Ġ" Failed Ġlog : Ġ$ log " ĊĠĠĠ Ġreturn Ġ" OK " Ċ } Ċ