Welcome to the Kthedral

Android • Kotlin • Programming • Electronics

Hello, I am Ace. I make android apps. I like electronics and softwares.

“Be Water, my friend.” — Bruce Lee
  

                                                                                                                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                               ..*@@@@%=...                                                                                                                                                                                                                     
                                                                                                                                                                           ..@@...      ..@@@:.                                                                                                                                                                                                                 
                                                                                                                                                                         .@@... .       -  ..@@.                                                                                                                                                                                                                
                                                                                                                                                                       ..@.              .   ..@                                                                                                                                                                                                                
                                                                                                                                                                       .@.               @.   .@..                                                                                                                                                                                                              
                                                                                                                                                                      .@.               *%#    @*                                                                                                                                                                                                               
                                                                                                                                                                      .@.        ..........   .@                                                                                                                                                                                                                
                                                                                                                                                                      .@.. ..%@@#:..   ..*%@@@@@                                                                                                                                                                                                                
                                                                                                                                                                      .%@@@=...        .... ...@@.                                                                                                                                                                                                              
                                                                                                                                                                     .@:.               -.     ..@@.                                                                                                                                                                                                            
                                                                                                                                                                    :@                  .#       ..@.                                                                                                                                                                                                           
                                                                                                                                                                   .@.        ..@@.. ...@%..       **                                                                                                                                                                                                           
                                                                                                                                                                  .@.      .@:...@@@@@#... .:@.     @.                                                                                                                                                                                                          
                                                                                                                                                                  +@.  . .@..@+.       ....@. %.   +-                                                                                                                                                                                                           
                                                                                                                                                                  .@.    @.@..         :.. ..#.@  #:.                                                                                                                                                                                                           
                                                                                                                                                                  .@.   ..#*            .   .@@@.@..                                                                                                                                                                                                            
                                                                                                                                                                   .@@...:@@.          ..    @                                                                                                                                                                                                                  
                                                                                                                                                                      ..%@@@@.  ....@@@@@@@=.%                                                                                                                                                                                                                  
                                                                                                                                                                            @..@%..    ..  #@.                                                                                                                                                                                                                  
                                                                                                                                                                            @+. .....  +   .@.                                                                                                                                                                                                                  
                                                                                                                                                                            #-.... . .  . ..@                                                                                                                                                                                                                   
                                                                                                                                                                            :%..@. ....=@= +#                                                                                                                                                                                                                   
                                                                                                                                                                            :@%.      .:. .@.                                                                                                                                                                                                                   
                                                                                                                                                                            .@.        #.  @.                                                                                                                                                                                                                   
                                                                                                                                                                            .@.            @.                                                                                                                                                                                                                   
                                                                                                                                                                            .@.            @.                                                                                                                                                                                                                   
                                                                                                                                                                            .@.   .        @.                                                                                                                                                                                                                   
                                                                                                                                                                             @.   .@@@@@@@@@.                                                                                                                                                                                                                   
                                                                                                                                                                             @..@.    .@. .@                                                                                                                                                                                                                    
                                                                                                                                                                            .@-*      ... .@                                                                                                                                                                                                                    
                                                                                                                                                                            .@:            @                                                                                                                                                                                                                    
                                                                                                                                                                             @..          .@                                                                                                                                                                                                                    
                                                                                                                                                                            .@..=@@@@@@@*..@                                                                                                                                                                                                                    
                                                                                                                                                                            .@*.....  ... .@                                                                                                                                                                                                                    
                                                                                                                                                                             #.       ... .@                                                                                                                                                                                                                    
                                                                                                                                                                             %@@@@@%=.... .%                                                                                                                                                                                                                    
                                                                                                                                                                             %.      .....@*                                                                                                                                                                                                                    
                                                                                                                                                                             %.        :. .*                                                                                                                                                                                                                    
                                                                                                                                                                            .@..          .#                                                                                                                                                                                                                    
                                                                                                                                                                            .@..          :@                                                                                                                                                                                                                    
                                                                                                                                                                            .@. .          @                                                                                                                                                                                                                    
                                                                                                                                                                            .@...:#@@@:.. .@                                                                                                                                                                                                                    
                                                                                                                                                                            .@..       .@% @                                                                                                                                                                                                                    
                                                                                                                                                                             @..       .+..@                                                                                                                                                                                                                    
                                                                                                                                                                             %.        .#. @.                                                                                                                                                                                                                   
                                                                                                                                                                             %.         .  @.                                                                                                                                                                                                                   
                                                                                                                                                                            .@..           %.                                                                                                                                                                                                                   
                                                                                                                                                                            .@.*@@%%#@@#...=:                                                                                                                                                                                                                   
                                                                                                                                                                            .@.  .      ..@*@                                                                                                                                                                                                                   
                                                                                                                                                                            .@.            .@                                                                                                                                                                                                                   
                                                                                                                                                                             @...  .        @.                                                                                                                                                                                                                  
                                                                                                                                                                             @....=@@. -   ...                                                                                                                                                                                                                  
                                                                                                                                                                             @.     .      ... .                                                                                                                                                                                                                
                                                                                                                                                                  . @@@@+..  .            ..@@@@@@@@#.                                                                                                                                                                                                          
                                                                                                                                                                  @@@@@@@@@@@@%:.     .:@@@@@@@@@@@@@@                        .%@@@-                                                                                                                                                                            
                                                                                                                                                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.           ..@@@@%.. %#. .. .%@..                                                                                                                                                                        
                                                                                                                                                                 .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%       ...@.  ..  .@@..        .@..                                                                                                                                                                      
                                                                                                                                                                 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.      @..        . ...        ..@+.                                                                                                                                                                     
                                                                                                                                                                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.   .#..                           .@%.                                                                                                                                                                  
                                                                                                                                                                .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-  .@                                .@*                                                                                                                                                                 
                                                                                                                                                                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .@                                  .@.                                                                                                                                                                
                                                                                                                                                                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@.                                   .#.                                                                                                                                                               
                                                                                                                                                               .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    ..@*                           . @.           . ..=*%@@@@.                                                                                                                                        
                                                                                                                                                               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.. .-.:@@@.                        . %.           +@@@@@@@@@@@@                                                                                                                                       
                                                                                                                                                               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  :.@.   ..@                        .:.      .:@@@@@@@@@@@@@@@@.                                                                                                                                      
                                                                                                                                                              =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.@.                        ...    .%  . .*@@@@@@@@@@@@@@@@@@@@.                                                                                                                                      
                                                                                                ..                                                            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.+                         .:*.    @..%@@@@@@@@@@@@@@@@@@@@@@@.                                                                                                                                       
                                                                                           ..@@@@@@@@@@%..  .                                               ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.                        .+::.  .%@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                                                                                         
                                                                                            .@@@@@@@@@@@@@@@@..                                             .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                     .+@.+.:@@@@@@@@@@@@@@@@@@@@@@@@@@@..                                                                                                                                           
                                                                                             .@@@@@@@@@@@@@@@@@@@                                          .-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                     ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...                                                                                                                                             
                                                                                               .@@@@@@@@@@@@@@@@@@@@=                                      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                 ....@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                                                                                                  
                                                                                                 .@@@@@@@@@@@@@@@@@@@@@*...                               ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                  .#%@@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                                                                                                      
                                                                                                   ..@@@@@@@@@@@@@@@@@@@@@@@%.....                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.               ..%@@@@@@@@@@@@@@@@@@@@@@@@: ..                                                                                                                                                        
                                                                                                      ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-... ..         ..-@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.         ..    .@@@@@@@@@@@@@@@@@@@@@@@@. .                                                                                                                                                             
                                                                                                          .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.     ... @@...*@@@@@@@@@@@@@@@@@@@@@@@.                                                                                                                                                                  
                                                                                                              .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..    ..%.@@@@@@@@@@@@@@@@@@@@@@@@@..=.*..                                                                                                                                                                  
                                                                                                                 .:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .      .+@@@@@@@@@@@@@@@@@@@@@@@@@-@@..@#                                                                                                                                                                    
                                                                                                                   . .:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.     ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@:%@.=@..-.                                                                                                                                                                   
                                                                                                                        ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*. ...*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@-.......=..                                                              @@@@@. .                                                                                             
                                                                                                                            ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.-#.@=+@:..@                                                                %#...-@@.                                                                                            
                                                                                                                                ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@:=.+*@...@.                                                              .@.:.+@..@%.                                                                                          
                                                                   . ..                                                         .   ...#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@+%#.@..:+.                                                              .@..@.++@..@:                                                                                          
                                                                 .@@%.*@                                                                  . %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.*....@@@@@%.-@@..                                                               .@..@.+#..@..@                                                                                          
                                                              .@+..*@.*@.                                                                     .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.%..% .@.@@@@@  .                                                                 .@..@@@@%..@. @                                                                                          
                                                             @:..@.+#.-@.                                                                   ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+.@+@...-...@@@@@                                                             .. ..@...=#@#..@.@..%                                                                                          
                                                           .@..@@.=.%  @@.                                                                 .@@@@@..  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@.@@.@.@.  . . @@@@%...                                            .......#@@@@@@%....#-.@@@@@...+.%:                                                                                          
                                                           @..@..-@@.@.=@@.                                                              ..@@@@*..@..  ..+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:@=-@@.: ......%#...@@@@.+*##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-......... .....=.......%#..+@+.@..@.                                                                                          
                                                          @. *..%:..%.@..@@.                 .  ...          .       ...  ....+%@@@@@@%:..@@@@%......@..*.:.*-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@--+*.@.:..*..-.......@@@@@@@@@@@@@@%#+-:...........::-=+*#@@@@@@@@@@@@@@.....-@...#-@@@....@.    .@@@-@.                                                                                           
                                                         .@: @.=-#......@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@%+:.......:#@@@@*.....@@@@@.+....%.@.@--..=..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.@@@+.@.@.#.-.@...@.... @@@@. ....@........@%....+..@@.@..@..@....@.%.@..@@.@.@.@@@-..#..@....=     .@.@.@@.                                                                                          
                                                          @@..*.@.........@............ ......----=+*#%@@@@##*+@@+=:..-.......=%%...@.%.+@@@@.*...=-.....%...%.:@.@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@**+.@@@.@@@=..@.-.@..#..#.. .....@@@@.. .%..@.%*..%.@.%.*:@+@@.-@..*.@%#@.=@=@....*@.@=.#@....@@+@ ..@.=. .@=@.*:.@@                                                                                          
                                                          :@@ .@.#.%*. @:....@.@@..-..=...+.@:.@.@@..@- .+.=.@.=-.@.@...%@..%.@.........@@@@@..=..@.+.*...%-@@@#.@*@@@@-.@.#:@@@@@@@@@@@@#:.........@@@@@:=@...@@%..+.%.... ..- ...@@@@@@@%.@=:.@@@.@-.@.*..@.-@.-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@. ..@@@@#..@..@.@.                                                                                         
                                                           .@@.@ =-.. . %@..@@. .%.:@%@@@.:@%@%.@@.%..@.@@@.@.@. ..@.*..@..@...+-..... @@@@: .@..@.....:..-@@@.@.@..@@@..@.#.@.@.@.@.+: @.@..... ...%@.@@@@:@-*.@..-.+..-  .@..=.  .@@@@@@@@@@*..-@@@@*...........   .....    ...:=*#######@#%%@@@@@@@%...== :@=-@.@ @.                                                                                         
                                                            .@.@@..=.  .@.@@@.@.-@@.@.=%....-*%@@@@@@%###*=::.........  . ...-@@@ ..:.@@@@@.+.@..@........*@:+@.:=.@@@@.:@##.@.@.@.@-:::@.=...:..@-.@@:@@#-..+#%..=..@...  @..:    .@@@@@@@@@@@@@@....=%@@@@@@@@@@@@@@@@@%@+=:*@@@@@@@@%=.....       ..@@@%..+:@..@% @.                                                                                         
                                                           .@....@@.@@@..-...@@:@...    . .............:-*@@@@@@@@@@@@=-@@@@@+:.@@@@@@@@@@.@@@-.@:........@.+@%.@@@@.@#@-=.*@@.@.@@@.@@.@.=.@@@@@...@@--@@.@.....@....@.% .@..@..=@@@@@@@@@@@@@@@@@@@:.@@@@@@@@@@%+:...                                  @@@..@ ..@ @:                                                                                          
                                                           @. .@..@+#=...-@. .-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ..@@....@.......:@..@.@@:@@..@....@@@.@.@=@#%@@@*#.-....@.@:.@#@...@@......-@=@.  :@*@@@@@@@@@@@@@@@@@..:@@@@*.                                                .@@....@.@..                                                                                          
                                                          .@. @.*.%.@@.@..:@@......... .                                .+@@@@@@@@@@@@@@@=   ..@@..@......@:=@@.+@@@@@ . @@....@@=.@..-.@.-.#.#..*@..@:.@@.......:@@...@@%.:=*@@@@@@@@@@@@@@@@@@ ..+%...%@@@.                                              .@@.=.=@.                                                                                            
                                                          :@..#%...@.%..@@                                          ..*@@@@@@@@@@@@@@@@@@.   .%@+@@.........+..*:@@@@# .. +@@..%...#.@@@@.=...:.@:#..@:.@@@@@.%.@..+...%@..*@@@@@@@@@@@@@@@@@@@.....@-    .@@@..                                           .@@.%@.                                                                                              
                                                          .@..@ @@.@@..@=.                                         .@...%@@@@@@@@@@@@@@@@.   ..@...@......@.@.@.=@.@#..... @@+@:...+..@@@.=....@@.*..@..@@%#@.@.@.@....#@#@@@@@@@@@@@@@@@@@@@%...@..    ..  .@@.                                            @+..                                                                                                
                                                           @- .%.@@@..+@                                         .@....@@..@.*@@@@@@@@@@@@@......@=........+@. @@..@......  @..@@.....@@@.+..+@.@.*..@..@*@.@@.-.%.@@-.@@@@@@@@@@@@@@@@@@@@@@..@      .@:@@.#.@@.                                                                                                                                               
                                                            @:..@..@..@.                                        .@.::. .  @.@. .@@@@@@@@@@@@@@@.*@. ..@@..-..@.@. %@.... .. .@:@=@@-..@@@.-.@@=.@.*..#.:@:+*%..-..#@#:@@@@@@@@@@@@@@@@@@@@@@..#      %.. @. @..@@.                                                                                                                                              
                                                            .:@...@@.-@.                                       .%.@@..+@.  =:@  .@@@@@@@@@@@@@@@@@. ...-...@@.@@..@@....  .  .@@-.@@@@@@@@@@@.#.@.#..#.+=...@.#*#...@@@@@@@@@@@@@@@@@@@@@@@. #     .%*@@..:+..@@@.                                                                                                                                              
                                                               .=@@..:@.                                      .@.*.@. ..@.  ..#. .@@@@@@@@@@@@@@@@@@@..@...@%.@@@ *-.. ....    ...=.@.:@.@....#.@.%..*.%@:..@..%.@@@@@@@@@@@@@@@@@@@@@@@@@. @     .%.@.  .@+@.%@@@.                                                                                                                                             
                                                                   ...-.                                      @.*..@=  .@@. .@:...@@@@@@@@@@@@@@@@@@@@@@:: .:.@.  .%@@..  ..    ..+.%.:@.%....:.@.@..:..%%.@-@@..@@@@@@@@@@@@@@@@@@@@@@@@=...     ....+@..  .#.%@@                                                                                                                                              
                                                                                                             .@%..@.  .@.@...+....%@@@@@@@@@@@@@@@@@@@@@@@ .%.@.   @@...=@.@... ....%.::.+......@.%.:%@@@=@@ ..@@@@@@@@@@@@@@@@@@@@@@@@@@..%.     +..@:...@@@%..=@.                                                                                                                                             
                                                                                                             @@..@.  .@..#...:.@- .@@@@@@@@@@@@@@@@@@@@@@@@@@.@. . .%... ..=-@.-.    .:..:......@@@....#@.@...@@@@@@@@@@@@@@@@@@@@@@@@@@@..#     .@#.  .....-@  .@@                                                                                                                                             
                                                                                                            .@@.@. ..:*%+@...@.@...+@@@@@@@@@@@@@@@@@@@@@@@@@@@@.  .@@....    %@..         @=@..    ..=..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%....    .@..@@@%=:#@.%..@@.                                                                                                                                            
                                                                                                            %@@@...@ ....@...#.@%%#.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   #+.        ...         #..        =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*# ...     @.   @: .  @@..@@.                                                                                                                                            
                                                                                                            @+..*%.....@.-.........=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .@@                              @..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@  *     .@..@.   ..@. .%.@.                                                                                                                                            
                                                                                                           .@..#....@*..@...@.@.....-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.  =+:.             ...           *.@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@..@.     .+.@. .@@.. .@ .@.                                                                                                                                            
                                                                                                          .-. :......*@=...@.%.*.....@@@@@@@@@@@@@@@@@@@@@@@@@@@@.   .@@.             ..            .@. .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.. .@     .@.. ..@....@.  @.                                                                                                                                            
                                                                                                          .@.#.*%......@..@...#   ..*@@@@@@@@@@@@@@@@@@@@@@@@@@@@.    .@@.           .+           .@..   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@. --     .%*. ..  .%.   @.                                                                                                                                            
                                                                                                          .@ @.  .: ..@..=..-:...@#.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..    .@..          .@ .        .@.@.  .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. @. .@.      @..#@@..:..#@+                                                                                                                                            
                                                                                                          .@..@.  @ .@..=..:@..@..:=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      .@@.          .@ .       .*.%..  .=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .@. .@.     ..@@....+@@.@#                                                                                                                                            
                                                                                                         .#@..:.=@%.+..#..... .....@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.        @@.         .@.        .+..    .=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=   -#...@..      ...=**+.:#                                                                                                                                            
                                                                                                        ..%@%:.-..@...@.%..%. @.% .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.         @@.        .@.       .@.@.    .-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@..@#..@@.. ... ......%%.                                                                                                                                           
                                                                                                         ..@  .-+...%..@.. +. ..@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.         =@%        .@..      *.%       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+....=:.=@@@@@@@@.@*@-..:@@.                                                                                                                                          
                                                                                                          .@. ..:%@@@@@@:...%. .@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.           @%.        @..     .@@.      ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.*...:.     :@@..@....  @@.                                                                                                                                          
                                                                                                        ..:@-................  ...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..           @@.      .@-.    .@%.         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.# ..*  ..@. @..=@@@%=#@@@.                                                                                                                                          
                                                                                                        .@.....*@@%=:%.@+*@.... .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..           .@@.   .*@@@%.   *.- .        %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.:@@=.     .@:@@.. ..:# @.                                                                                                                                          
                                                                                                       @@:..@=.  . .%@....@@.... .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@              .@@  .*. ....   =@           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# .@.. .  ..@ @. ... .@.@.                                                                                                                                          
                                                                                                       ..@..   %.  @@...@...::...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.               .@@   =   -...@@            .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=..%@....@. .@.##@#:@. @.                                                                                                                                          
                                                                                                       .@...@. .@..@...@.....@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                .@@ .@   -..@@.            .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.   @  ..... .....@... @@                                                                                                                                          
                                                                                                       .@.@. @..-...@=.. @.@::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                  .@@ *.  ..@@.             ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%  .%-...       .@.@. : @                                                                                                                                          
                                                                                                       =@.   @.* .....-. @%.=#.-@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.             ... ...@@.   .@+....-%.          #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .@..*.  .%-.-@.@.:.@..@.                                                                                                                                         
                                                                                                      .@.@..@.......-@.#.%@@:%:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.              .%........     .... .@           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@  ...  .@.....@..@. #@:                                                                                                                                         
                                                                                                      .@  . %.....@. .##-.@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                @            ....:--@.           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ..@@:..@...@....@...%:@                                                                                                                                         
                                                                                                     .@   . . .+  ....@..@..@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@            ..=@=@@@@@@@@%.   @@+%@:.         ..   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.....@......@%:@.@.:=@@@.                                                                                                                                        
                                                                                                     =.   . %  @.....%.. ..@#..@@@@@@@@@@@@@@@@@@@@@@@@@@@       ....@@=.....      .@    @   . ...@@@@@@@@@@@@-:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% . ..*..@......%.....@@@                                                                                                                                        
                                                                                                    .@      .#*.. .-..=@..    @@@@@@@@@@@@@@@@@@@@@@@@@@@...=@#@@@-......          =@.. .@         .=. ....     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@...:..@...:@@-.@@@...#@:                                                                                                                                       
                                                                                                    @......     *..@@@. -:  ..@@@@@@@@@@@@@@@@@@@@@@@@@@@   ..   .....            .+@.   @         @@#@. .       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=. ..@.......-..*.@ @...@@.                                                                                                                                      
                                                                                                   .@...%@-.   .*.@. .@. @.-.@@@@@@@@@@@@@@@@@@@@@@@@@@@.            ....         .+@.   #.       . =-...#..      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@ @=@.....+@..%.@...@@@                                                                                                                                      
                                                                                                   @.   ...@.  .+ .@%@. .@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@            .@..           +@.   #.          :@@  .@      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:. . .@.@@..@..%.....#@@@                                                                                                                                     
                                                                                                  .@       .@.  @.   ...@*@.-@@@@@@@@@@@@@@@@@@@@@@@@@@.          .@.@.            +@..  #           ...    ....   =@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.@:....@.=...@.@%.%@@..@@@@.                                                                                                                                   
                                                                                                 .@@#@+.    @.. ..#@......%@@@@@@@@@@@@@@@@@@@@@@@@@@@@          .*@@........ .. ...%@@.........      .@.    ....  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@::.....@.. @...:.@:.....@@@@@.                                                                                                                                  
                                                                                                 +.   .%    .@ ..@:. ...@. :@@@@@@@@@@@@@@@@@@@@@@@@@@.        ...##@. ....=@%......**#..#@%*.....                  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@.  %.   @........=.*.@@@@@@.                                                                                                                                 
                                                                                                 @..  .@     @#-@....*.@. .@@@@@@@@@@@@@@@@@@@@@@@@@@@       ..%..@:@=%@ .     ... .=@...    .. ...     ....        .+@@@@@@@@@@@@@@@@@@@@@@@@@@@..@..@.   @. .:@.  =..@.@@@@@@.                                                                                                                                
                                                                                                +#.:..-   ........@@@. *. .@@@@@@@@@@@@@@@@@@@@@@@@@@=     ...%.....:....   .=@..@@@%....    ....     -@@:.-@..    #..-@@@@@@@@@@@@@@@@@@@@@@@@@@  ..@@.. .@. . .@..@....@@@@@@@.                                                                                                                               
                                                                                                @.*@..@    .@....@.....@. @@@@@@@@@@@@@@@@@@@@@@@@@@@.      ::......@*      ..  .@...@.@@@@=.    ..%@...@.@..@     %:..@@@@@@@@@@@@@@@@@@@@@@@@@@ .@...@. .@@     @#@.#..@@@@@@@-                                                                                                                               
                                                                                               +..@..@   ..@.... ..@....@.@@@@@@@@@@@@@@@@@@@@@@@@@@@     ..*.. . .@.       %.  :...@       ...@@..     =-.@.@     .@ .-@@@@@@@@@@@@@@@@@@@@@@@@@:@... ..=%.%+....@.......@@@@@@@.                                                                                                                              
                                                                                               @@*..@.  ..%.@.@. ....... @@@@@@@@@@@@@@@@@@@@@@@@@@@:    .@.*.   .*.        .=. ..:.. . ..@@*.....      .-.-@ .      ..-@@@@@@@@@@@@@@@@@@@@@@@@@=.@.-  ......@...@%.%+:..@@@@@@@@.                                                                                                                             
                                                                                              @. .@... .@.::.%....=@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:     @.     .@      . ...@     .  .@.               %@@@        . :@:@@@@@@@@@@@@@@@@@@@@@@@@.+@.......@...#@.+:=.@@@@@@@@@@@@.                                                                                                                            
                                                                                             .@.%. ...:=.@:@...:@:..@%: %@@@@@@@@@@@@@@@@@@@@@@@@@@...  ...      .@. ..+@.     ..%@-..@......        .=@.  .:@@@..   ..:@+@@@@@@@@@@@@@@@@@@@@@@@@...@@*. ........   .... #@@@@@@@@@.                                                                                                                           
                                                                                           . @@..  ..@....%@@..@..@.....@@@@@@@@@@@@@@@@@@@@@@@@@@@....=.       ....+.. .     .. ...@........   ..%@... ...   ..+@= ...:@=.@@@@@@@@@@@@@@@@@@@@@@@ ...@....%@@....     ....@@@@@@@@@@.                                                                                                                          
                                                                                            .#.   .@.....@@.....@...*...@@@@@@@@@@@@@@@@@@@@@@@@@@%.=...       ...@@.     ..@@@@@%-::--:-....%@@@@@..      ...-@@@*@@. :@..%@@@@@@@@@@@@@@@@@@@@@@ .%...+@@- :@%-.    .+ ..@@@@@@@@@@@                                                                                                                          
                                                                                            @...*+.....*:@..-....@.....@@@@@@@@@@@@@@@@@@@@@@@@@@%%**.        ...%@.   ..@.*..##          .....  . =@@@=::....@@+.*@.-@%... @@@@@@@@@@@@@@@@@@@@@ .%..#@%...% .@..@@.%.#  .@@@@@@@@@@@*                                                                                                                         
                                                                                           ......@...@%.@::...@-...-...@@@@@@@@@@@@@@@@@@@@@@@@@@.@%*.         -.@..   .@  @. .#         ..   .*@-..........  @..% :% ..@@@@@@@@@@@@@@@@@@@@@@@@@.%@#...@@@@@@@... ..@=@ ...@@@@@@@@@@@.                                                                                                                        
                                                                                          .@...#.@#.=..@....%@%%##@-@..@@@@@@@@@@@@@@@@@@@@@@@@@@=@@.          @#@.    :@  %-.@.         ..%@#.  . ...-.@. .. .@@. .@:.. ..@@@-...@@@@@@@@@@@@@@@@%:.@......@.@.@@=. +......@@@@@@@@@@@@-.                                                           ...                                                        
                                     .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@.       =@:.@.@@.@-.@.=@#.-@@:...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@...   .  @.-.   .@@.        ...%@..   . . .......%. .  ....%@. =@.   .@@@@@#...@@@@@@@@@@@@@@@@@@@#:......  :@.#..  .@@@@@@@@@@@@@-.                 .=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.                                                  
                                   .@@   .........................          ..%@@@@@@..  .# ..@%@.@.@@....@.:@@% .....+@*@@@@@@@@@@@@@@@@@@@@@@@.##@...:...@.. .... .:@..@@@@%@@@@# ......       . ....*..:@@@.. .              +@@@:  .+@.@.#..+      @@.... .*@@.. .=@.. .+@@@@@@@@@@@@@:..            .-@@@@@@@@@@@@..                              ...  .@@:.                                               
                                   @#.        ..           ..               .@@@@@@@@@@  @...@..@.@.....*@@@.......@...=. ...%@@@@@@@@@@@@@@@@@@ .@@@@.@...@@@.  .@=.  ..  ..+@@@@#....@@@@#+*@@@@@+...........  .%.              ..@...@@.@.@.. ...... -..+@@@...@..%.. + ..@@@@@@@@@@@@@@..            @@@@@@@@@@@@@@@@.                                    .@@.                                              
                                 .@.                                       @@@@@@@@@@@@.....@...........#+......#=@..=..@. .:.%. =... @@@.@.@:-..:%...*..*+@@.@@*.     ..@: ...            ..  ................                     =@.=....@@@.  ...*@@@...@   @..@.:.......+@@@@@@@@@@@@@@.          .@@@@@@@@@@@@@@@@@@@                                     .@@.                                            
                               ..@.                                      .@@@@@@@@@@@@+.@ .@ . .......@.  ....@.*....%.@:.=*::..  ..--@.:..+....@:.  @:@:@@@%#.....    .@. @. @.                ..........=@@@+....@@#.             .@@@-+@@....%%        .@@.  :%  @@==@....@@@@@@@@@@@@@@@@.        =@@@@@@@@@@@@@@@@@@@@@                                      =@..                                          
                               .@.                                       +@@@@@@@@@@@@.@....  .. ....@......@...*=@@@@....%-. .@..*..@@.==.......@.....%.  . ....    ..@   @..@                  ...+@@....       @@..@.            ..@.@......@.           .@: #....@..@.# .@@@@@@@@@@@@@@@@@.     .@@@@@@@@@@@@@@@@@@@@@@@@                                     ..@-                                          
                             . @.                                       .@@@@@@@@@@@@*.= .%##@.   .@......@-......@.......:.....:...=@#...@..@.@.....@@.  ..........  .-@.....    .......-%@@@@%..........        @.*..@            *.@...@..:.              ..@..@#........-@@@@@@@@@@@@@@@@@@.  ..@@@@@@@@@@@@@@@@@@@@@@@@@@..                                    .@@.                                        
                             .@.                                      ..@@@@@@@@@@@@@.%.=. . .@:. .@... .+@...:.%=..-@....:....:....* ..@.:%.-..%@@..@.    ...@..-..      %@@@@%*:. ......... ........            @:@.+@            :.#@#...*.     ...*+...     @..-..+.....=@@@@@@@@@@@@@@@@@@@. =@@@@@@@@@@@@@@@@@@@@@@@@@@@@...                                    @#.                                       
                            .@=.                                       @@@@@@@@@@@@@@.@.. .....@.. .....=+..@@.@..%:.@. .%@. ..=....@ .=.@..@ ......@.    ...:.-...          @@@@@@@@@:...                        ..%@.             =.@@. ...    ..@.*@@:.=@.   #.........@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                     .@-                                       
                           .@%.                                       @@@@@@@@@@@@@@@.@@  ..@.@*. @. .@.@.@@.+@.@....*%@@@.@@@......% %.*.@*.@%.%..@     ...@..-.         .@..@#.      ...-@@@@%-....:*%@@@@@%......                . *@-..%.   .@.#...@@@@.+.  .:.@....@.. @@@@@@@@@@@@@@@@@@@@@@ *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                     .@.                                      
                          .#@                                       .@@@@@@@@@@@@@@@@=.@@..@%+@...#..@.@.@.=...........:.=.   . .#..=@.:.#*.#@.@..@. .   .....-.          @. :..#.             .............@@#....@%.              ..*@....    ..-. :.. @.:@%...:..=...@  .@@@@@@@@@@@@@@@@@@@@@@@.=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                     .@.                                     
                          .@.                                        @@@@@@@@@@@@@@@@@.+@@........@.:.......@..@.@.@.   ..      ..:.@.@..@.@#*...@#....   .....           @@..@@.                   ..%@:...   +..%.@@              ...@...:   ...@. +.  ..@@.*.:...@..@..:.@@@@@@@@@@@@@@@@@@@@@@@@.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@..                                     .@.                                    
                         .@.                                       .@@@@@@@@@@@@@@@@@@@.+@@=..@:.#. .- @   @.  @.. .. ..    ...@*@.=@ @.@*@@-...@%@....    ..              .@@*...      . ...-%@@@*..         .@. .:.@.             *..@...@.   ..%.+....@ .@.#.@....@=..@.@@@@@@@@@@@@@@@@@@@@@@@@@@.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                      -@.                                   
                         @@                                       .@@@@@@@@@@@@@@@@@@@@@..=@@@@#.....=..@..@.  ........@.   .. .@@....@-@.@....@@.@...             ...%@@@@@@@@@%-..---:.............         .@..@.=@@@@@@@@@@@@@@@@@@@. . @.. .%...%.:@..+%@ .-  @ ++..#@@@@@@@@@@@@@@@@@@@@@@@@@@@@.+@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                       %#                                   
                        :@.                                      .*@@@@@@@@@@@@@@@@@@@@@@@@- .....*@@@@@@@@%@=.%..@. .@ -.  .@. .@...-%...=-.#.%@.@..           .@@@...          .. ..*@@@-..  .              .   -@*=%..-....@@... .   - . ... ...:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.+@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                      .@.                                  
                       .@.                                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.            @@@@@@@@@@@@@@@@@@..%.  +..=@.@@.@.-     ..-@@:.                         ....-+*%@%#**+#*++-.... .  .%..=..: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.+@@@@@@@@@@@@@@@@@@@@@@@@@@@                                       .@                                  
                       @#                                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.          .@@@@@@@@@@@@@@@@@@@@@@@-....%.@@@@@@@@@@@=@                                      .%    .@               ...= ++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@.                                       #@                                 
                      :@.                                       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@  ..@@@@+:@.@.:.                                      *.    #.                   ...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@                                       .@..                               
                     .@.                                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.        %@@@@@@@@@@@@@@@@@@@@@@@@+% .@@ ......@..#.       ...       .@.                     @.   .@                       =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@.                                       .@..                              
                     @%                                        %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...    .@@@@@@@@@@@@@@@@@@@@@@@@@.:..@%.     .......     .#           @.                     @.   =.                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@.                                      .@%.                              
                     @.                                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..    .@@@@@@@@@@@@@@@@@@@@@@@@@...-@..     #. .@..     .+           .@.                    ..   .@                       ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .@@@@@@@@@@@@@@@@@@@@@@@@.                                       .@.                              
                    @.                                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.    =@@@@@@@@@@@@@@@@@@@@@@@@. # ..      .@  %.-..    .#            .@.                    @.   .@.                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@                                       .@@.                             
                   .@                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.. .@@@@@@@@@@@@@@@@@@@@@@@@@. #.%.      .=.....%.     @    .....    .@.                    @    ...                        ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@.                                       .@..                            
                  .@.                                        %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. -@@@@@@@@@@@@@@@@@@@@@@@@@ %*.       ...  ...#.    .@    .@.@.     .@                    ...  .%.                          .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@*                                       .@#.                            
                   @.                                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* *@@@@@@@@@@@@@@@@@@@@@@@@% +*         #.      +.    @.   .:..@      -..                   @.   .@.                           +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:.@@@@@@@@@@@@@@@@@@@@@@..                                      .@.                            
                 .@.                                       .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@. -..        @...   .@.    .%   .-. @.     .@.                    -     @.                           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.%@@@@@@@@@@@@@@@@@@@@.                                        @:                            
                 .@.                                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@. ..         @...    .@.    @.  .#. =.     ..@.                  .:.   ..+                            ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@.                                       +@.                           
                 @-                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@@@@@@@@@@@@@@@@@@@@@@@@@@@             .%.-     +     .%  .@. .@      ..*.                   %.    -.                             ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. @@@@@@@@@@@@@@@@@@@.                                        @..                          
                .@..                                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@%              @.@.     @.    @. .=.. @.       %.                   ..     %.                               .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@.                                        @#                           
               .@%.                                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@.                       .@.   .@. .=...*    ....@.                  .%.    .@.                               ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.@@@@@@@@@@@@@@@@@=..                                      .@.                          
               .@                                        ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                        .@.   +.      @.   *.@..+                   .=..   .%.                                 .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :@@@@@@@@@@@@@@@@                                         @.                          
               +@                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                         .@.  .@.     .-  .-.#..%.                  .%.     .:                                   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@..                                       @+                          
              .@.                                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                          :-   .@.     @. ...... @.                  ...     ..                                   .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@..                                       .@                          
              .@                                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                            @.. ..*.    ........:...                  .%.      -.                                    .=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.#@@@@@@@@@@@@@                                        .@.                         
              %=                                         #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                             @.. .+%.   .@. .%.:#..@                  .:       .*.                                     .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. @@@@@@@@@@@@                                         @..                        
             .@.                                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                               @. .@-@.  ..-..@.%+...:                 ...       .%.                                     ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@.                                       .%*.                        
             .@                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 .+.        %. .@..@.-@....@....@:...%.                           .@                                       ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. @@@@@@@@@@.                                        :@.                        
             @=                                        .:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                +.+       #*...@:-.#.@....*..@#..#...                           ..@                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.%@@@@@@@@*                                        .@.                        
            .@.                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                +.@...    #+.....@.#..@..:@.....:@..%.                           ..%                                         ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@..                                       @.                        
           ..@                                        ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                =.%.=.     +...  .@+.=:@+..=....@=....                             .%. .                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@..                                       @%                        
            #@                                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#               .:.%.=..    ...%@   +%@. .@.@...-@....@                              .%.@.                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@                                         @@                        
            @.                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                .@.-:....  ..@=.. ..@-..#@.@..@*.%....                              .@.#.                                         ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@.                                        =@                        
           .@.                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                 .-:..%+. . #..= *...@.*.@@:=.--#...@.                              .@-.@.                                         ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@:                                        .@.                       
           .@                                         .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=  .:             ..:..%*.--@...*.*..  #@..@@#..@......                                 %.-                                              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# @@@.                                       .@.                       
           @%                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: .-.....    .    ....%*.-.@+@..  ...  :.@@@@:...@...@                                 *.%...                                            .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.=@.                                        @-.                      
           @:                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-.#...  ......    . .%*.-.%.@.%=@@#..  ..#..@.*.#.=...                                .%:.@ .                                            .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...                                        @#.                      
           @                                          .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%...... :...*...    *.=.#.@.* *#@.. #@@@..@@@@@%@..@                                  .@@.                                              .@@@:.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                                        -@.                      
          .@.                                         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.%.-...:...#...: . . ....%.+..........%.@@@@@%@..*@ .                                .%.                                                 . ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                      .:@.                      
          +@                                          .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. %...-.:.@.  : ..#=.. .   .....:....*..::.@.@@@@@@. .                              .% %.                               .                 ..%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-                                     ..@.                      
          @=                                          -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-.=.+.+.@...: ..#. . =.*.%.-..%....: .:..@.@@.%.%@@@@@.                             .#..:                            .@.         @@.    ..#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                    .@.                      
          @..                                         *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..%.%.@...=...#... +.#.@.=..%.-..%@@@@@@.....-.-. . @.                             .@.:                             @.       .@...    ...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                                 ..@#                      
          @..                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@.... #...*. . #.#.@.%..@@@@@@@@@@@@@ :=.@..    .@.                           ....:                             @        @..          .@@@@+..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                 .@@                      
          @.                                        ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@.=.#..... *.@@@@@@@@@@@@@@@@@#.#%.-+      =@.                            .....                          .@       @.       ....        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                %@                      
         .@.                                        ..@@@. ..  ....................    .. ...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* ....@.    ..@@%                              .:                          .#      @.         .#.        .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                              *@                      
         +@                                          .@@@.                                  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*...:.@     :.==@@                             ..                          ..    .@:.        .@.         .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.                            -@                      
         @#                                          .@@@.                                   =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ..@.-     #:.%.%@..                                                      :.   .+#           @.          .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                           @. .                   
         @-                                          .@@@                                    =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ..%       @%.%..@@..                                                     %.  ..@..        .%.           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-.                       .@+ .                   
         @.                                           @@@.                                   :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.  :..       .@.:%.%.@@.                                                    %.  .@           .@.             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                    .@%                     
         @                                           .@@%                                    .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.  @*        .@..@.@..:@@.                                                  .   =.           +..              .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..                  @@                     
         @.                                          .@@%                                    .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%   .@        .#%.@.     @@.                                                %.  .@           .@          .  ..     ..%@%=..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..                *@..                   
        .@.                                         ..@@%                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.              .:        +=@%                                              .%   #-           .+        .@@@.@..             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.               .@                     
        .@                                          .:@@%.                                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                        %-.@@@.                                           :.  .@           .@       .@:  .@..              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.             .@                     
        =@                                          .=@@%.                                   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=                         .@.@.@@@@@:.                                      @.  -*           -=      .@.   #.                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.            @ .                   
        @#                                          .+@@%                                    .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         ..@.@.....@@@@+.                                   :  .@.          .@.      @.   --                .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%          .@..                   
        @+                                          .+@@@                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                   . -@@@@=.                              @.  .@.          :-     -%.   .%                .@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..       .@=.                   
        @:                                          .*@@%..                                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                     *@.  -@@@@..                          @   @.          .@    .+%    .@             ...:@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..     .@+.                   
        @.                                           #@@%..      .............               .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                     @@.    ..@@@@.                       *.  .@           @.    #*.    @.            .@.....*@@#..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.     %%                    
        @                                           .@@@@@............... -.@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                                     @.        ..@@@.                    .%   *-          .@   .-*.    %.           :@.@.#..     .@#..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-    +@.                   
        @.                                          .@@@@@.               :.@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .  . .@@@@@@@@@@@@@@@:                                    .@.            .@@@:.                .+.   @.          @.   .@.    .@         ..@.   .....     ..@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.  .@.                   
        @.                                          .@@@@@.               :.@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..#@#...:@@-..:@@@@@@@@@@@@                                   .@                .@@@               .*.   .@.         @.   .@.     @          @:..     .     .@. -@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .@.                   
        @.                                          .@@@@@.               :.@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@...       .@@  @@@@@@@@@@@.                                 .@.           . :. .@@@@=            .@.    @=         .@    .@     =.         @.            @..=@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*@.
        @.                                          .@@@@@.               :.@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.+#.            .@..@@@@@@@@@@.                               .:#         ..:@..:..@@@@@@@..         ..@    @.        .@.   .@.     @.     ..@@@@@@%.   ..=*..@@@@@@@@@@@....@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...:


Projects:

AniKube

REST API serving anime metadata.

Kotlin · Ktor · PostgreSQL · JUnit
AkiraX

Movie ticket booking app with resell feature and enhanced security.

Kotlin · Jetpack Compose · Koin · Retrofit · Coil · Clean Architecture · MVVM
Thriftr

Marketplace app with ability to list and buy products.

Kotlin · Coroutines · Jetpack Compose · Retrofit · Hilt · Coil · MVVM
PocKtfolio

Portfolio website made using KMP and CMP.

Kotlin · Kotlin Multiplatform · Compose Multiplatform

Toolchain

Languages Kotlin, Java, C, SQL
Frameworks Android, Compose, KMP, Spring, Ktor
Tools Linux, Git, Docker, PostgreSQL
Next Up Rust, Python, Cloud
gojo

About me


Hey, I'm Ashish Kumar from India. Currently, I'm into Android development.

I'm a huge fan of open-source apps and customization, shoutout to Hyprland—it's awesome.

Outside of coding, I like Indie rock and Hip-Hop music. I also enjoy gaming and watching YouTube. I'm always curious about new and interesting things.

Few Things About Me:

  • I like Cricket.
  • I can't swim(yet).
  • I like to optimize things unnecessarily.
  • I use Arch btw.
ACE.jpg
firefist_ace
Stats

Born: 2001

Nationality: 🇮🇳

Languages: Hindi, English

Origin: Sub-urban

Likes: Efficiency, Minimalism

the_dao