Produce compatible chord progressions that fit well with the provided musical piece.
(3def | gabg fgaf | efge dBAG | DEFG ABcA | GABc d2 d2 | 
 ([gB]2 bg) ([fA]2 af) | ([ec]2 ge) dBAG | DEFG ABcd | (B2 G2) G2 d2 | 
 bgbg afaf | gfge dBAG | DEFG ABcA | GABc (d2 d2) | gbag fagf | 
 egfe dBAG | DEFG ABcd | (B2 G2) G2 z |: [BE]2 [eE][BE] [dE]2 [eE][dE] | 
 edBB AGED | (E2 eB) (d2 eB) | dBd^d (B3 A) | Bdba gedB | AGED EGAB | 
 cdec BdeB |1 (AF(3E/F/E/D) [GB,]4 :|2 (AF(3E/F/E/D) [GB,]2 ||  
X:1
L:1/8
Q:1/2=120
M:4/4
K:G
 (3def |"G" gabg"D" fgaf |"C" efge"G" dBAG |"D" DEFG"A7" ABcA |"G" GABc d2 d2 | 
"G" ([gB]2 bg)"D" ([fA]2 af) |"C" ([ec]2 ge)"G" dBAG |"D" DEFG"A7" ABcd |"G" (B2 G2) G2 d2 | 
"G" bgbg"D" afaf |"C" gfge"G" dBAG |"D" DEFG"A7" ABcA |"G" GABc (d2 d2) |"G" gbag"D" fagf | 
"C" egfe"G" dBAG |"D" DEFG"A7" ABcd |"G" (B2 G2) G2 z |:"Em" [BE]2 [eE][BE] [dE]2 [eE][dE] | 
 edBB"D" AGED |"Em" (E2 eB) (d2 eB) |"G" dBd^d (B3 A) |"Em" Bdba gedB | AGED"D" EGAB | 
"Em" cdec BdeB |1"D" (AF(3E/F/E/D)"G" [GB,]4 :|2"D" (AF(3E/F/E/D)"G" [GB,]2 ||  