Consider the following skeletal and JavaScript-like program: function main() { var a, b, w, d; function sub1() { var a, c, w, v; function sub2() { var a, d; } ... } function sub3() { var x, w, v, d; .... } } 4.1. (4 points) List all the variables, along with the program units (sub1, sub2, sub3, or main) where they are declared, that are visible in the body of sub3, assuming that static scoping is used. 4.2. (4 points) List all the variables, along with the program units (sub1, sub2, sub3, or main) where they are declared, that are visible in the body of sub2, assuming that static scoping is used.