// File: /workspace/github_cpp_makefile_star2_O2/jweinst1[P]Pages/src/story/MakeStory.cpp
// Function: MakeStory::one()
void MakeStory::one(void)
{
        StoryEvent event;
        StoryMap smap;

        StoryObject obj1("ball");
        obj1.pushDeterminer("the");
        obj1.pushDeterminer("a");

        obj1.pushDescriptor("red");
        obj1.pushDescriptor("blue");
        obj1.pushDescriptor("pink");
        obj1.pushDescriptor("orange");
        obj1.pushDescriptor("fluffy");
        obj1.pushDescriptor("purple");
        obj1.pushDescriptor("round");
        obj1.pushDescriptor("dull");
        obj1.pushDescriptor("gloomy");
        obj1.pushDescriptor("dim");

        obj1.pushAction("bounces toward");
        //obj1.pushAction("bounces");
        obj1.pushAction("rolls toward");

        smap.putObject("ball", obj1);

        StoryAction act1("bounces toward");
        act1.pushAdverb("quickly");
        act1.pushAdverb("slowly");
        act1.pushAdverb("cautiously");
        act1.pushObject("school");
        act1.pushObject("park");
        smap.putAction("bounces toward", act1);

        StoryAction act2("rolls toward");
        act2.pushAdverb("quickly");
        act2.pushAdverb("swiftly");
        act2.pushAdverb("nervously");
        act2.pushObject("school");
        act2.pushObject("park");
        smap.putAction("rolls toward", act2);

        StoryObject obj2("school");
        obj2.pushDeterminer("a");

        obj2.pushDescriptor("large");
        obj2.pushDescriptor("huge");
        obj2.pushDescriptor("prestigious");

        smap.putObject("school", obj2);

        StoryObject obj3("park");
        obj3.pushDeterminer("a");

        obj3.pushDescriptor("small");
        obj3.pushDescriptor("lush");
        obj3.pushDescriptor("precious");
        obj3.pushDescriptor("greenish");
        obj3.pushDescriptor("quaint");

        smap.putObject("park", obj3);

        event << obj1;
        const StoryAction& newAction = smap.getAction(obj1.getAction());
        event << newAction << StoryPart::Space;
        const StoryObject& newObject = smap.getObject(newAction.getObject());
        event << newObject;
        event << StoryPart::Period << StoryPart::Newline;
        std::cout << event.getString();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x250, %rsp            # imm = 0x250
leaq -0x30(%rbp), %rdi
callq 0x2bd4
leaq -0x1c0(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x190(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x2c7c(%rip), %rsi      # 0x402a
leaq -0x100(%rbp), %rdi
callq 0x2f1c
leaq 0x2c6e(%rip), %rsi      # 0x402f
leaq -0x100(%rbp), %rdi
callq 0x1a7a
leaq 0x2c5f(%rip), %rsi      # 0x4033
leaq -0x100(%rbp), %rdi
callq 0x1a7a
leaq 0x2c4e(%rip), %rsi      # 0x4035
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2c3f(%rip), %rsi      # 0x4039
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2c31(%rip), %rsi      # 0x403e
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2c23(%rip), %rsi      # 0x4043
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2c17(%rip), %rsi      # 0x404a
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2c0b(%rip), %rsi      # 0x4051
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2bff(%rip), %rsi      # 0x4058
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2bf2(%rip), %rsi      # 0x405e
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2be4(%rip), %rsi      # 0x4063
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq 0x2bd8(%rip), %rsi      # 0x406a
leaq -0x100(%rbp), %rdi
callq 0x195c
leaq -0xc0(%rbp), %rbx
leaq 0x2bc2(%rip), %rsi      # 0x406e
movq %rbx, %rdi
callq 0x1a7a
leaq 0x2bc2(%rip), %rsi      # 0x407d
movq %rbx, %rdi
callq 0x1a7a
leaq 0x2b60(%rip), %rsi      # 0x402a
leaq -0x98(%rbp), %rdi
callq 0x3010
leaq -0x1c8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x19ac
leaq -0x98(%rbp), %rdi
callq 0x30f8
leaq 0x2b6b(%rip), %rsi      # 0x406e
leaq -0x258(%rbp), %rdi
callq 0x2bac
leaq -0x230(%rbp), %r14
leaq 0x2b6d(%rip), %rsi      # 0x408a
movq %r14, %rdi
callq 0x1a7a
leaq 0x2b66(%rip), %rsi      # 0x4092
movq %r14, %rdi
callq 0x1a7a
leaq 0x2b5e(%rip), %rsi      # 0x4099
movq %r14, %rdi
callq 0x1a7a
leaq -0x250(%rbp), %r14
leaq 0x2b53(%rip), %rsi      # 0x40a4
movq %r14, %rdi
callq 0x1a7a
leaq 0x2b4b(%rip), %rsi      # 0x40ab
movq %r14, %rdi
callq 0x1a7a
leaq 0x2aff(%rip), %rsi      # 0x406e
leaq -0x98(%rbp), %rdi
callq 0x3010
leaq -0x1c8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x258(%rbp), %rdx
callq 0x19cc
leaq -0x98(%rbp), %rdi
callq 0x30f8
leaq 0x2ad5(%rip), %rsi      # 0x407d
leaq -0x210(%rbp), %rdi
callq 0x2bac
leaq -0x1e8(%rbp), %r14
leaq 0x2ac8(%rip), %rsi      # 0x408a
movq %r14, %rdi
callq 0x1a7a
leaq 0x2adf(%rip), %rsi      # 0x40b0
movq %r14, %rdi
callq 0x1a7a
leaq 0x2ad8(%rip), %rsi      # 0x40b8
movq %r14, %rdi
callq 0x1a7a
leaq -0x208(%rbp), %r14
leaq 0x2aae(%rip), %rsi      # 0x40a4
movq %r14, %rdi
callq 0x1a7a
leaq 0x2aa6(%rip), %rsi      # 0x40ab
movq %r14, %rdi
callq 0x1a7a
leaq 0x2a69(%rip), %rsi      # 0x407d
leaq -0x98(%rbp), %rdi
callq 0x3010
leaq -0x1c8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x210(%rbp), %rdx
callq 0x19cc
leaq -0x98(%rbp), %rdi
callq 0x30f8
leaq 0x2a57(%rip), %rsi      # 0x40a4
leaq -0x98(%rbp), %rdi
callq 0x2f1c
leaq 0x29d3(%rip), %rsi      # 0x4033
leaq -0x98(%rbp), %rdi
callq 0x1a7a
leaq 0x2a4f(%rip), %rsi      # 0x40c2
leaq -0x98(%rbp), %rdi
callq 0x195c
leaq 0x2a42(%rip), %rsi      # 0x40c8
leaq -0x98(%rbp), %rdi
callq 0x195c
leaq 0x2a34(%rip), %rsi      # 0x40cd
leaq -0x98(%rbp), %rdi
callq 0x195c
leaq 0x29f8(%rip), %rsi      # 0x40a4
leaq -0x168(%rbp), %rdi
callq 0x3010
leaq -0x1c8(%rbp), %rdi
leaq -0x168(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x19ac
leaq -0x168(%rbp), %rdi
callq 0x30f8
leaq 0x29c6(%rip), %rsi      # 0x40ab
leaq -0x168(%rbp), %rdi
callq 0x2f1c
leaq 0x293b(%rip), %rsi      # 0x4033
leaq -0x168(%rbp), %rdi
callq 0x1a7a
leaq 0x29ce(%rip), %rsi      # 0x40d9
leaq -0x168(%rbp), %rdi
callq 0x195c
leaq 0x29c1(%rip), %rsi      # 0x40df
leaq -0x168(%rbp), %rdi
callq 0x195c
leaq 0x29b3(%rip), %rsi      # 0x40e4
leaq -0x168(%rbp), %rdi
callq 0x195c
leaq 0x29a9(%rip), %rsi      # 0x40ed
leaq -0x168(%rbp), %rdi
callq 0x195c
leaq 0x299f(%rip), %rsi      # 0x40f6
leaq -0x168(%rbp), %rdi
callq 0x195c
leaq 0x2941(%rip), %rsi      # 0x40ab
leaq -0x18(%rbp), %rdi
callq 0x3010
leaq -0x1c8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
leaq -0x168(%rbp), %rdx
callq 0x19ac
leaq -0x18(%rbp), %rdi
callq 0x30f8
leaq -0x30(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x2e28
movq %rbx, %rdi
callq 0x2a86
leaq -0x198(%rbp), %rdi
movq %rax, %rsi
callq 0x2592
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x2e82
movq %rax, %rdi
xorl %esi, %esi
callq 0x2d0c
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x2a86
leaq -0x1c8(%rbp), %rdi
movq %rax, %rsi
callq 0x1d86
leaq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x2e28
leaq -0x30(%rbp), %rdi
pushq $0x2
popq %rsi
callq 0x2d0c
pushq $0x3
popq %rsi
movq %rax, %rdi
callq 0x2d0c
movq -0x30(%rbp), %rsi
movq 0x57bc(%rip), %rdi      # 0x6fd8
callq 0x10d0
leaq -0x168(%rbp), %rdi
callq 0x19f0
leaq -0x98(%rbp), %rdi
callq 0x19f0
leaq -0x210(%rbp), %rdi
callq 0x1a22
leaq -0x258(%rbp), %rdi
callq 0x1a22
leaq -0x100(%rbp), %rdi
callq 0x19f0
leaq -0x1c8(%rbp), %rdi
callq 0x1a4c
leaq -0x30(%rbp), %rdi
callq 0x2c10
addq $0x250, %rsp            # imm = 0x250
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x18(%rbp), %rdi
callq 0x30f8
jmp 0x18fd
jmp 0x18fa
jmp 0x18e9
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
callq 0x30f8
jmp 0x1909
jmp 0x18e9
jmp 0x18f0
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x30f8
jmp 0x1915
jmp 0x18f0
jmp 0x18f5
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x30f8
jmp 0x1921
jmp 0x18f5
jmp 0x192f
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x30f8
jmp 0x1932
jmp 0x192f
movq %rax, %rbx
jmp 0x193e
jmp 0x18fa
movq %rax, %rbx
jmp 0x1909
jmp 0x18fa
movq %rax, %rbx
jmp 0x1915
movq %rax, %rbx
jmp 0x1921
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
callq 0x19f0
leaq -0x98(%rbp), %rdi
callq 0x19f0
leaq -0x210(%rbp), %rdi
callq 0x1a22
leaq -0x258(%rbp), %rdi
callq 0x1a22
jmp 0x1932
movq %rax, %rbx
leaq -0x100(%rbp), %rdi
callq 0x19f0
leaq -0x1c8(%rbp), %rdi
callq 0x1a4c
leaq -0x30(%rbp), %rdi
callq 0x2c10
movq %rbx, %rdi
callq 0x1190
nop