.tiles[i].y + ',' +
                             response.data.tiles[i].z] = response.data.tiles[i];
                if(response.data.tiles[i].scoredItems.dropTiles.length>0){
                $scope.placedDropTiles++;
		        $scope.actualUsedDropTiles += response.data.tiles[i].scoredItems.dropTiles.length;
                    for(var j = 0; j < response.data.tiles[i].index.length ; j++){
                    marker[response.data.tiles[i].index[j]] = true;
                    } 
	           }
            }
            $scope.tiles[response.data.startTile.x + ',' +
                         response.data.startTile.y + ',' +
                         response.data.startTile.z].start = response.data.showedUp;
            $scope.score = response.data.score;
            $scope.showedUp = response.data.showedUp;
            $scope.LoPs = response.data.LoPs;
            // Verified time by timekeeper
            $scope.minutes = response.data.time.minutes;
            $scope.seconds = response.data.time.seconds;
            $scope.cap_sig = response.data.sign.captain;
            $scope.ref_sig = response.data.sign.referee;
            $scope.refas_sig = response.data.sign.referee_as;

            console.log($scope.tiles);
        }, function(response){
            console.log("Error: " + response.statusText);
        });
    }


    $scope.range = function(n){
        arr = [];
        for (var i=0; i < n; i++) {
            arr.push(i);
        }
        return arr;
    }

    $scope.getOpacity = function(x,y){
        var stackedTiles = 0;
        for(var z = 0; z < $scope.height; z++){
            if($scope.tiles[x+','+y+','+z])
                stackedTiles++;
        }
        return 1.0/stackedTiles;
    }
    
    $scope.go = function(path){
      socket.emit('unsubscribe', 'runs/' + runId);
      window.location = path
  }
    
     $scope.totalNumberOf = function(objects){
        return objects.gaps + objects.speedbumps + objects.obstacles + objects.intersections;
    }
    
    $scope.showElements = function(x,y,z){
        var tile = $scope.tiles[x+','+y+','+z];
        // If this is not a created tile
        if(!tile)
            return;


        var total = $scope.totalNumberOf(tile.items);

        // If the run is not started, we can place drop pucks on this tile
        
            // Add the number of possible passes for drop tiles
            if(tile.scoredItems.dropTiles.length > 0) {
                total += tile.scoredItems.dropTiles.length;
            }
            if(tile.start!= null)total ++;

            if(total == 0){
                return;
            }else if(total > 1){
                $scope.open(x,y,z);
                // Save data from modal when closing it
            }else{
                return;
            }
    }


    $scope.open = function(x,y,z) {
        var modalInstance = $uibModal.open({
            animation: true,
            templateUrl: '/templates/line_view_modal.html',
            controller: 'ModalInstanceCtrl',
            size:'sm',
            resolve: {
                tile: function () {
                    return $scope.tiles[x+','+y+','+z];
                }
            }
        }).closed.then(function(result){
            console.log("Closed modal");
        });
    };
    
    $scope.sucess_message = function(){
        swal({
                    title: 'Recorded!', 
                    text: 'Recording to public server succeeded', 
                    type:'success'
                },function(){
                    $scope.go("/admin/"+$scope.competition._id+"/runs/");
                });
                console.log("Sucess!!");
    }
    
    $scope.send_public = function(){
        swal({
          title: "Approval?", 
          text: "Click 'Yes' to send the run data to the public server.", 
          type: "warning",
          showCancelButton: true,
          confirmButtonText: "Yes, approval it!",
          confirmButtonColor: "#ec6c62"
        }, function() {
            var run = {}
            run.height = $scope.height;
            run.width = $scope.width;
            run.length = $scope.length;
            run.rescuedVictims = $scope.rescuedVictims;
            run.tiles = $scope.tiles;
            run.showedUp = $scope.showedUp;
            run.LoPs = $scope.LoPs;
            run.time = {};
            run.time.minutes = $scope.minutes;
            run.time.seconds = $scope.seconds;
            run.retired = $scope.retired;
            run.status = 5;
            $http.post("https://example.com/"+runId+"/update/token", run).then(function(response){
                var run = {}
                run.status = 5;
                $http.post("/api/runs/"+runId+"/update", run).then(function(response){
                    setTimeout($scope.sucess_message,500);
                }, function(response){
                    swal("Oops", "It could not be sent normally. Please call the system manager.", "error");
                    console.log("Error: " + response.statusText);
                });
                

            }, function(response){
                swal("Oops", "It could not be sent normally. Please call the system manager.", "error");
                console.log("Error: " + response.statusText);
            });
            
        });
        
        
    }



}]).directive("tileLoadFinished", function($timeout){
    return function(scope, element, attrs){
      if (scope.$last){
           $timeout(function(){
            tile_size();
          },0);
          $timeout(function(){
            tile_size();
          },500);So at the end of your course, you are provided with two documents 
First one is practice test with questions 
And second one is practice test with suggested answers, which shows you the solutions with steps (how you would solve it in a regular test) 
You can go over those and that is similar to the final exam 

About your last part 
It depends on the environment you thrive in
I’m pretty good at math and I took physics as well
So I knew a lot of the concepts already
Didn’t even need to go over most 
And I didn’t take a lot of time in completing 

You also will get feedback from your teachers about areas you can improve in (in projects and if you take mh4u, the culminating) 
There are also links provided in your lessons to other helpful tutors like I mentioned that you can definitely use

Ilc is online so it can get very lonely and isolating at times but there is also a discord that is very helpful with amazing students on there who are always willing to help you out on stuff 

Good luck with your future! Let me know if you have more questions :)Footbinding in China is a topic that has interested, repelled, and perplexed people throughout its history. The practice of binding ones feet in order to achieve a certain length has all but disappeared from modern-day China but it was once the accepted and promoted practice of many Chinese women. How and why the custom began is somewhat of a mystery, but there are many theories as to why women began to bind their feet. The reasons why women began binding their feet is not the only area of interest, why it became so prevalent for women to bind their feet, how and why it became so engraned in Chinese culture and the aftermath of such a practice are studied as well. It was also vital to the history of footbinding that when the West got word of such a practice, they set out to put an end to the tradition they found demeaning and degrading. That is one reason why footbinding slowly faded out of China but not the only one. There was a push against it from within as well. When studying the practice of Chinese footbinding, it is also important to know that some scholars argue that there is much more to the story