// Package line 1 group 1
// Package line 2 group 1

// Package line 1 - group 2
// Package line 2 - group 2
package comments

// Emit line 1 group 1

// Emit line 1 group 2
// Emit line 2 group 2
{
    // Inside Emit
}

a: 3 // a line comment

b: 4 // line comment that is last in the file.
cc: 555 // align comments

// don't simplify
a: {
    b: 2
}

// simplify
a: {
    b: c: {
        d: 1
    }
}

// unchanged
a: b: [1]

// don't simplify
a: b: {
    c: 2
}

// rewrite okay
a: b: c: {
    d: 2
}

m: {
}
m: {
    // empty with comment
}

// Issue #478
struct1: {
    // This is a comment

    // This is a comment

    // Another comment

    something: {
    }
    // extra comment
}

struct2: {
    // This is a comment

    // This is a comment

    // Another comment
    something: {
    }

    // extra comment
}

list1: [
    // Comment1

    // Comment2

    // Another comment
    {
    },

    // Comment 3
]

list2: [
    // foo
]

list3: [
    // foo

    // bar
]

funcArg1: foo(
    // Comment1

    // Comment2
    3

    // Comment3
)

funcArg2: foo(
    // Comment1

    // Comment2

    3
    // Comment3
)

funcArg3: foo(
    2,

    // Comment1

    // Comment2
    3

    // Comment3
)

//	comment including		some tabs
